猫学乖
- 猫学乖 提出了问题Ajax请求控制台报错
- 猫学乖 2015-07-29 已签到连续签到2天,获得了10个金钱
- 猫学乖 2015-07-28 已签到连续签到1天,获得了5个金钱
- 猫学乖 2015-07-22 已签到连续签到1天,获得了5个金钱
- 猫学乖 回复了 KilluaCHEN 的回答
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'], ]; }
@lilongsy 恩, 是只要使用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'], ]; }
@lilongsy
可以了, 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); } } }