【问题标题】:Yii Multiple Scenario based client validationsYii 基于多场景的客户端验证
【发布时间】:2014-10-27 10:08:35
【问题描述】:

我正在使用 Yii 的 activeForm 创建一个表单。

除了客户端验证不处理场景之外,表单的所有方面都可以正常工作。

如果我可以让客户端验证基于场景工作,我会很高兴。

下面是表单的部分代码

$form = $this->beginWidget('CActiveForm', array(
    'enableClientValidation' => true,
    'enableAjaxValidation' => false,
    'errorMessageCssClass' => 'has-error',
    'htmlOptions' => array(
        'class' => 'form-horizontal',
        'role' => 'form',
        'id' => 'payment-form',
    ),
    'clientOptions' => array(
        'id' => 'payment-form',
        'validateOnSubmit' => true,
        'errorCssClass' => 'has-error',
        'successCssClass' => 'has-success',
        'inputContainer' => '.form-group',
        'validateOnChange' => true,
    ),
));

【问题讨论】:

    标签: php validation yii


    【解决方案1】:

    仅供参考,当数据被推送到模型时,场景验证就完成了,我们在模型中定义了验证场景。因此,如果您想在客户端进行验证,唯一的方法是使用“JAVASCRIPT”,或者通过您已关闭的 ajax 启用 ajax 验证'enableAjaxValidation' => true, 以使用 ajax 获取客户端验证。

    【讨论】:

    • 是的,我同意,但是当它为每个字段打开时,它会向服务器发送一个请求,并且每次按键时可能会有点慢,我已经看到生成的代码Yii 并且当 ajax 返回时,它会返回基于场景的客户端验证,之后它不会执行 ajax 请求,如果 yii 一开始就这样做了,那就太好了
    • 如果您非常在意时间,请使用 javascript 客户端验证,记住场景
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-06
    • 1970-01-01
    • 2014-02-07
    • 2013-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多