【发布时间】:2015-09-03 09:46:58
【问题描述】:
我们希望删除在 Yii 2.0 上使用 activeform 进行客户端验证时出现的验证消息。
试过了:
$form = ActiveForm::begin(['clientOptions'=>['hideErrorMessage'=>false]]);
获取:
无效调用 – yii\base\InvalidCallException
设置只读属性:yii\widgets\ActiveForm::clientOptions
在文档上,我能找到的最好的是: http://www.yiiframework.com/doc-2.0/yii-widgets-activeform.html#getClientOptions()-detail
我不知道 "The Options" 是什么,所以我猜测是 "hideErrorMessage" 由于 Yii 1 的经验。
您能否建议,我们如何以编程方式禁用生成的错误消息,而不必创建用于显示表单的新模板,也无需执行 display:none;用css。
完整的 activeform 供您考虑:
$form = ActiveForm::begin(
['id' => $model->formName(),
'enableClientValidation'=> true,
'validateOnBlur'=>false,
'validateOnType'=>true,
'validationDelay'=> 1500,
'clientOptions'=>['hideErrorMessage'=>false]
]);
clientOptions 是一个尝试/猜测。
然后,表单域,一个例子:
<?= $form->field($model, 'first_name')->textInput()->label(false) ?>
【问题讨论】:
-
enableClientValidation boolean 是否开启客户端数据验证。
-
@Akhil Thayyil:我猜默认情况下是这样。不过,我在那里有 enableClientValidation 。它没有出现在 SO 上的唯一原因是我不想把所有代码都放在这里。
-
请用您的 activeform 代码更新问题