如何使用cfform内置验证验证是否选择了单选按钮?

时间:2013-11-26 14:04:23

标签: validation coldfusion radio-button cfform

假设我有一个看起来像这样的简单cfform:

<cfform id="fruitForm" method="post" action="">
    <cfinput type="radio" name="fruit" id="fruit_apple" value="Apple" /><label for="fruit_apple">Apple</label><br />
    <cfinput type="radio" name="fruit" id="fruit_orange" value="Orange" /><label for="fruit_orange">Orange</label><br />
    <cfinput type="radio" name="fruit" id="fruit_pear" value="Pear" /><label for="fruit_pear">Pear</label><br />

    <cfinput type="submit" name="submitFruit" id="submitFruit" value="Submit" />
</cfform>

如何使用内置的cfform验证来确保选中此组中的至少一个单选按钮?我已经尝试为每个单选按钮添加一个validate =“required”但它不起作用。有没有简单的方法来“要求”使用cfform验证选择其中一个按钮?

2 个答案:

答案 0 :(得分:7)

帮自己一个忙,不要使用cfform进行验证。编写您自己的服务器和客户端验证,但根据cfinput documentation,如果您为每个单选按钮添加required="true"属性,ColdFusion将为您进行客户端验证。

注意:用户可以绕过此验证并仍然提交表单而不检查单选按钮。您还需要进行服务器端验证。

<cfform id="fruitForm" method="post" action="">
  <cfinput type="radio" name="fruit" id="fruit_apple" value="Apple" required="true" /><label for="fruit_apple">Apple</label><br />
  <cfinput type="radio" name="fruit" id="fruit_orange" value="Orange" required="true" /><label for="fruit_orange">Orange</label><br />
  <cfinput type="radio" name="fruit" id="fruit_pear" value="Pear" required="true" /><label for="fruit_pear">Pear</label><br />

  <cfinput type="submit" name="submitFruit" id="submitFruit" value="Submit" />
</cfform>

答案 1 :(得分:1)

这对我有用:

<cfform action="abc.cfm" method="post">
<cfinput type="radio" required="yes" message="pick something" name="x" value="1">radio 1
<cfinput type="radio" required="yes" message="pick something" name="x" value="">radio 2
<input type="submit" />
</cfform>

实际上,您甚至不需要message属性。它仍然会验证。