validationcoldfusionradio-buttoncfform

How can I validate that a radio button was selected using cfform built-in validation?


Say I have a simple cfform that looks like this:

<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>

How can I use the built-in cfform validation to ensure that at least one radio button in this group is selected? I've tried adding a validate="required" to each of the radio buttons but it doesn't work. Is there any simple way to "require" one of the buttons to be selected using cfform validation?


Solution

  • Do yourself a favor and don't use cfform for validation. Write your own server and client side validation, but according to the cfinput documentation if you add a required="true" attribute to each radio button ColdFusion will do the client side validation for you.

    Note: The user can bypass this validation and still submit a form without checking a radio button. You need to have server side validation as well.

    <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>