【问题标题】:How to disable client side validation messages of activeform in Yii 2?如何在 Yii 2 中禁用 activeform 的客户端验证消息?
【发布时间】: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 代码更新问题

标签: php yii2


【解决方案1】:

试试这个。

$form = ActiveForm::begin(['fieldConfig' => ['template' => '{label}{input}']]);

【讨论】:

  • 非常非常好。 :) 谢谢。
  • 嗨@Gamitg:我也遇到过类似的问题。你能帮我么。我的问题在这里stackoverflow.com/questions/37420018/…
  • 它会删除验证消息,但仍会突出显示红色边框。知道如何禁用它
  • @MuhammadOmerAslam 在活动表单属性上使用'enableClientValidation' =&gt; false
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-06
  • 1970-01-01
  • 1970-01-01
  • 2017-05-09
  • 1970-01-01
  • 2016-01-30
  • 1970-01-01
相关资源
最近更新 更多