yii 中的表单验证
Form validation in yii
我试图 post 在 yii 中形成,但对验证没有任何想法,我浏览了一些 yii 文档但没有得到它。没有 yii 的表单对象我们不能做验证吗?意味着在视图中我使用正常的 HTML 作为 yii.
的形式
在操作中,您需要添加
$this->performAjaxValidation($model);
在_form中,添加
'enableAjaxValidation'=>true,
在模型中,您需要设置规则,
public function rules(){
return array(
// array('username, email', 'required'), // Remove these fields from required!!
array('email', 'email'),
array('username, email', 'my_equired'), // do it below any validation of username and email field
);
}
我想,这会对你有所帮助。
无论是 Form 模型还是 CActiveRecord 模型,Yii 的模型中都内置了验证。
为了实施验证,请将验证规则放入您的模型中。在下面的示例中,我使用的是 activerecord 模型。
class Customer extends CActiveRecord {
// :
public function rules(){
return array(
array('name, surname, email', 'required'),
array('age, email', 'length','min'=>18)
);
}
您现在可以验证任何表单,无论您使用的是 Yii 表单还是普通 HTML 表单。
要强制执行验证,您的控制器必须填充模型值,然后调用模型根据您之前定义的规则检查数据。
class CustomerController extends CController {
// :
$customerModel = new Customer;
// Set fields using this format ...
$customerModel->attributes['name'] = $_FORM['user'];
// ...or this ...
$customerModel->age = $_FORM['age'];
// ...of this
$customerModel->setEmail($_FORM['email'];
// Now validate the model
if ($customerModel->validate) {
return true;
}
else {
return false;
}
// :
}
}
我试图 post 在 yii 中形成,但对验证没有任何想法,我浏览了一些 yii 文档但没有得到它。没有 yii 的表单对象我们不能做验证吗?意味着在视图中我使用正常的 HTML 作为 yii.
的形式在操作中,您需要添加
$this->performAjaxValidation($model);
在_form中,添加
'enableAjaxValidation'=>true,
在模型中,您需要设置规则,
public function rules(){
return array(
// array('username, email', 'required'), // Remove these fields from required!!
array('email', 'email'),
array('username, email', 'my_equired'), // do it below any validation of username and email field
);
}
我想,这会对你有所帮助。
无论是 Form 模型还是 CActiveRecord 模型,Yii 的模型中都内置了验证。
为了实施验证,请将验证规则放入您的模型中。在下面的示例中,我使用的是 activerecord 模型。
class Customer extends CActiveRecord {
// :
public function rules(){
return array(
array('name, surname, email', 'required'),
array('age, email', 'length','min'=>18)
);
}
您现在可以验证任何表单,无论您使用的是 Yii 表单还是普通 HTML 表单。
要强制执行验证,您的控制器必须填充模型值,然后调用模型根据您之前定义的规则检查数据。
class CustomerController extends CController {
// :
$customerModel = new Customer;
// Set fields using this format ...
$customerModel->attributes['name'] = $_FORM['user'];
// ...or this ...
$customerModel->age = $_FORM['age'];
// ...of this
$customerModel->setEmail($_FORM['email'];
// Now validate the model
if ($customerModel->validate) {
return true;
}
else {
return false;
}
// :
}
}