【发布时间】:2011-09-14 23:16:11
【问题描述】:
我正在使用 Yii ajaxSubmitButton() 提交表单。此外,我已将 'enableAjaxValidation' 参数设置为 true 以验证相应的文本框。
我能做什么:
- 在焦点离开时异步验证字段。
- 单击按钮时异步调用服务器端方法。
问题是我不知道如何在单击提交按钮时执行字段验证,如果验证了模型,则在客户端执行部分渲染。
如果我在 ajaxSubmitButton 中覆盖 'success' 事件,我会得到部分渲染,但我无法维护模型验证..
有什么帮助吗?
编辑
感谢回复,
validateOnSubmit 标志已设置,如果未设置“成功”事件,模型将正确验证。
当ajaxSubmitButton是这样的:
<?php echo CHtml::ajaxSubmitButton( 'Send',
CHtml::normalizeUrl(array('site/ajaxIndexSubmit')),
array(
'error'=>'js:function(){
alert(\'error\');
}',
'beforeSend'=>'js:function(){
alert(\'beforeSend\');
}',
'success'=>'js:function(data){
alert(\'success, data from server: \'+data);
}',
'complete'=>'js:function(){
alert(\'complete\');
}',
//'update'=>'#where_to_put_the_response',
)
);
?>
alert('success') 将打印与模型验证对应的字符串。一旦我有了那个字符串,客户端必须调用什么逻辑?
覆盖“成功”javascript 处理程序的原因是从服务器接收部分渲染,这与模型验证不同。我想要两件事:验证和部分渲染。
【问题讨论】:
-
好问题,我也没有找到将 validateOnSubmit 与 ajaxSubmitButton 一起使用的方法