我有两个模型 message 和 messageto,我在 messageto 表单页面中使用消息模型属性如何使用 ajax 验证来验证这些属性,我是 YII 的新手。
我正在使用 application.extensions.tokeninput.TokenInput 来显示字段,但我无法验证这些小部件上的字段。感谢您等待您的答复。
我有两个模型 message 和 messageto,我在 messageto 表单页面中使用消息模型属性如何使用 ajax 验证来验证这些属性,我是 YII 的新手。
我正在使用 application.extensions.tokeninput.TokenInput 来显示字段,但我无法验证这些小部件上的字段。感谢您等待您的答复。
对How-Yii-Ajax-Validation-Works 的深入了解将极大地帮助您使用此功能并对其进行一些自定义。
恐怕我没有使用tokeninput 扩展,但关于您的两个模型 ajax 验证,以下一般计划应该有效:
在您的View中,确保您有:
$form = $this->beginWidget('CActiveForm', array(
'id'=>'some-id-for-your-form',
'enableAjaxValidation'=>true //turn on ajax validation on the client side
));
此外,在View中,任何具有验证规则的字段都应具有:
<?php echo $form->textField($model, 'some_attribute'); ?>
<?php echo $form->error($model, 'some_attribute'); ?> // This is used to present validations error
并在您的Controller中,在通过 加载View输入之前的 create 或 update 操作中,输入POST
以下行:
$messageModel = new Message;
$messageToModel = New MessageTo;
if(Yii::app()->getRequest()->getIsAjaxRequest())
{
echo CActiveForm::validate( array( $messageModel,$messageToModel));
Yii::app()->end();
}
/*
The rest of your code goes here
*/
至于您正在使用的扩展,如果它自动生成视图代码,那么您需要知道如何配置它以放置所需enableAjaxValidation => true
的$form->error($model,'some_attribute')
部件。
希望这有帮助!