【问题标题】:How to validate user must choose at least one value radio button in CakePHP?如何验证用户必须在 CakePHP 中选择至少一个值单选按钮?
【发布时间】:2015-05-12 09:46:02
【问题描述】:

我在视图文件中有一个关于单选按钮 (CakePHP) 的代码:

echo $this->Form->input('publish_flg', array(
                'type' => 'radio',
                'div' => false,
                'label' => false,
                'fieldset' => false,
                'legend' => false,
                'hiddenField' => false,
                'required' => false,
                'separator'=> '</div><div class="radio-inline">',
                'before' => '<div class="radio-inline">',
                'after' => '</div>',
                'options' => array(1 => 'Yes', 0=> 'No'),
                'error' => array(
                    'attributes' => array('wrap' => 'div', 'class' => 'alert alert-danger', 'escape' => 'false')
                )
            ));

现在我希望用户必须检查单选按钮中的至少一个值,但两者都验证我在模型中写入也不成功:

解决方案 1(无论我检查还是不检查单选按钮,它总是返回消息错误)

public $validate = array(
     'publish_flg' => array(
         'notEmpty' => array(
            'required' => true,
            'message' => 'ERROR VALIDATE'
          )
      )
);

解决方案2(它不验证,然后如果我不选中任何单选按钮,它也会将数据提交到数据库)

public $validate = array(
         'publish_flg' => array(
                'rule' => 'notEmpty',
                'message' => 'ERROR VALIDATE'
              )
    );

谁能给我一个解决方案? ,谢谢。

在controller中,我没有使用$this->Model->save()来验证,我使用了$this->Model->validates(),是不是错了?

【问题讨论】:

    标签: php validation cakephp


    【解决方案1】:

    notEmpty 验证应该可以工作,但您也可以尝试inList,因为您在FormHelper 中将值指定为0No1Yes

    如果您不确定自己的语法,您可以随时尝试bake 模型并以这种方式创建验证规则。

    【讨论】:

      猜你喜欢
      • 2010-10-23
      • 2015-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-11
      • 2010-11-11
      相关资源
      最近更新 更多