【问题标题】:CakePHP repopulate radio button on form validation errorCakePHP 在表单验证错误时重新填充单选按钮
【发布时间】:2012-01-25 02:08:02
【问题描述】:

我有我认为应该是一个简单的问题,但我无法在任何地方找到答案(或者只是太晚了)。

我在我的页面上使用了许多单选按钮。起初我没有为单选按钮指定一个“值”。但是,在提交表单时,我收到一个 mySQL 错误,指出该列不能为空。

然后我读了CakePHP Unfilled radio button changed to an unwanted value on submit,在那里我学到了单选按钮不应该是空白的。很公平,所以我为它们设置了一个默认的“值”=“-1”。我遇到的问题是,如果页面上的表单验证失败,所有单选按钮都会设置回默认值,并且不会重新填充用户输入的内容。自然,如果用户在页面上犯了一个错误,我不希望他必须再次修复所有单选按钮。

对于表单验证错误,我的第一种方法(我没有指定“值”)会自动将单选按钮重新填充为用户输入的内容。

关于如何让单选按钮在验证失败时重新填充到用户选择的值有什么建议吗?

仅供参考,我正在使用的其中一个单选按钮的代码如下:

$radioForm = $this->Form->radio('Review.' . $fieldName ,array("1"=> "1","2"=>"2","3"=>"3","4"=>"4","5"=>"5 ", "-1"=>"N/A"),array('legend'=>'', 'value'=>'-1')); 回声 $radioForm;

【问题讨论】:

    标签: validation cakephp radio-button


    【解决方案1】:

    试试这个:

    echo $this->Form->radio('Review.' . $fieldName ,array("1"=> "1","2"=>"2","3"=>"3","4"=>"4","5"=>"5", ""=>"N/A"),array('legend'=>'', 'value'=> $modelName['Review'][$fieldName]));
    

    不要放'value' => '-1',因为它总是会设置这个不是你想要的值,而是放选择的值

    如果你在Review模型中,可以跳过字段名中的模型名但设置值时不能跳过

    echo $this->Form->radio($fieldName ,array("1"=> "1","2"=>"2","3"=>"3","4"=>"4","5"=>"5", ""=>"N/A"),array('legend'=>'', 'value'=> $modelName['Review'][$fieldName]));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-10
      • 1970-01-01
      • 2021-04-06
      • 2015-01-04
      • 2011-03-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多