【问题标题】:validation error message will not show at form year验证错误消息不会在表单年份显示
【发布时间】:2018-04-24 10:37:23
【问题描述】:

我有这样的验证规则,有错误信息生成

$validator->add('cc_expires',[
                'checkExpiryDate'=>[
                'rule'=>'checkExpiryDate',
                'provider'=>'table',
                'message'=>__('BS_INVALID_CC_EXPIRY_DATE')]]);

但是这个$this->Form->year()控件不会产生错误信息

echo $this->Form->year('cc_expires', [ 'options' =>  $year_option,'error' =>true]);

我要补充

 <?php  print_r($order->errors() ['cc_expires'] ['checkExpiryDate'] );?> 

打印出丑陋的错误信息,

是否有控件$this-&gt;Form-&gt;year()打印出错误信息,谢谢

【问题讨论】:

    标签: validation cakephp cakephp-3.0


    【解决方案1】:

    手动打印错误应该使用FormHelper::error()方法,可以使用FormHelper::isFieldError()测试是否有错误。

    话虽如此,像year() 这样的单个控件方法不检查错误,它们只呈现控件。如果你想自动检查和显示错误,那么你需要使用FormHelper::control()FormHelper::input()before CakePHP 3.4),它包装了那个任务(error选项顺便说一句是control()方法的一个选项):

    echo $this->Form->control('cc_expires', [
        'type' => 'year',
        'label' => false,
        'options' => $year_option
    ]);
    

    另见

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-11
      • 2016-03-05
      • 2022-11-09
      • 2013-09-05
      • 1970-01-01
      • 1970-01-01
      • 2014-06-22
      相关资源
      最近更新 更多