猫学乖

猫学乖

这家伙有点懒,还没写个性签名!

  • 财富值223
  • 威望值20
  • 总积分513

个人信息

  • 提出了问题
    Ajax请求控制台报错
  • 2015-07-29 已签到
    连续签到2天,获得了10个金钱
  • 2015-07-28 已签到
    连续签到1天,获得了5个金钱
  • 2015-07-22 已签到
    连续签到1天,获得了5个金钱
  • 回复了 的回答
    public function rules()
    {
       return [
          ['column_name', 'validateAfterNow'],
       ];
    }
    

    我的rules里面当然是这样写了,但是就是进不了这个验证!
    兄台可知为何?

  • 提出了问题
    YII2 表单内如何添加一个时间验证方法?
  • 回复了 的回答

    自定义一个模型,然后在这个模型里设置rules,会自动生成表单验证。
    例如:

    class ContactForm extends Model
    {
        public $name;
        public $email;
        public $subject;
        public $body;
        public $verifyCode;
    
        /**
         * @inheritdoc
         */
        public function rules()
        {
            return [
                // name, email, subject and body are required
                [['name', 'email', 'subject', 'body'], 'required'],
                // email has to be a valid email address
                ['email', 'email'],
                // verifyCode needs to be entered correctly
                ['verifyCode', 'captcha'],
            ];
        }
    

    恩, 是只要使用ActiveForm来创建表单就可以了吧?

  • 回复了 的回答

    自定义一个模型,然后在这个模型里设置rules,会自动生成表单验证。
    例如:

    class ContactForm extends Model
    {
        public $name;
        public $email;
        public $subject;
        public $body;
        public $verifyCode;
    
        /**
         * @inheritdoc
         */
        public function rules()
        {
            return [
                // name, email, subject and body are required
                [['name', 'email', 'subject', 'body'], 'required'],
                // email has to be a valid email address
                ['email', 'email'],
                // verifyCode needs to be entered correctly
                ['verifyCode', 'captcha'],
            ];
        }
    


    可以了, views里面的字段名称必须以数组形式才可以, 这是我在views里面的代码

    <tr>
                                    <td><label class="control-label" for="name">职位名称</label></td>
                                    <td width="10"><span class="redstar">*</span></td>
                                    <td>
                                        <input type="text" class="form-control input-lg" id="name" name="PositionForm[name]" value="" placeholder="请输入职位名称,如:产品经理">
                                    </td>
                                </tr>
    
  • 回复了 的回答

    自定义一个模型,然后在这个模型里设置rules,会自动生成表单验证。
    例如:

    class ContactForm extends Model
    {
        public $name;
        public $email;
        public $subject;
        public $body;
        public $verifyCode;
    
        /**
         * @inheritdoc
         */
        public function rules()
        {
            return [
                // name, email, subject and body are required
                [['name', 'email', 'subject', 'body'], 'required'],
                // email has to be a valid email address
                ['email', 'email'],
                // verifyCode needs to be entered correctly
                ['verifyCode', 'captcha'],
            ];
        }
    

    感谢你的回答, 我现在是这样做了, 但是为何在 执行 $model->load(Yii::$app->request->post()) 的时候 不能正确的载入里面对应的属性呢?
    下面是我控制器表单部分的代码

    public function actionPost(){
        if (Yii::$app->request->getIsGet()) {
            $jobs = $this->getJobs();
            $edulevels = $this->edulevel;
            return $this->render('post', compact('jobs', 'edulevels'));
        }
    
        if (Yii::$app->request->getIsPost()) {
            $model = new PositionForm();
            if ($model->load(Yii::$app->request->post('PositionForm')) && $model->validate()) {
                echo 'success!';
            } else {
                //echo 'error';
                var_dump(Yii::$app->request->post());
                var_dump($model);
            }
        }
    
    }
    
主管 等级规则
513/1000
资料完整度
0/100
用户活跃度
0/100

Ta的关注

0

Ta的粉丝

3

Ta的访客

7