0

データベースから入力された選択オプションフィールドがあり、ユーザーが何も選択せずに送信ボタンを押したときに検証したいと思いました。検証を取得できません。これは私がこれまでに行ったことです。

選択オプションリストの場合:

<form id="dataForm" method="get" action="">
<b>Year</b>
<?php
$sql = 'SELECT Year_Id,Year_Released FROM {extdb_year} WHERE Only_For_Trend = 0 ORDER BY Year_Released DESC';
$res = db_query($sql);

echo "<select id='Year_Released' name='Year_Released'>
  <option value='-1'>-Select-</option>";
$cnt = 0;
$options = array();
foreach ($res as $row)
{
    $cnt++;
    echo "<option value = '{$row->Year_Id}'";
    if ($cnt==1)
        echo "selected = 'selected'";
    echo ">{$row->Year_Released}</option>";

    $options[$row->Year_Id] = $row->Year_Released;
}
echo "</select>";

?>
<p>
     <input class="submit" type="submit" value="Submit"/>
   </p>
</form>

検証用のJQueryコード

$(document).ready(function(){

    $("#dataForm").validate({

    rules: {

        Year_Released: {
            required: true
        }

    },
    messages: {

    Year_Released: "You must select a Year."

    }

    });
});

この点に関する提案は大歓迎です。

4

2 に答える 2

0

検証コードは正しいですがoption、要素の最初のコードはを空にselect設定する必要があります。value

echo "<select id='Year_Released' name='Year_Released'>
    <option value=''>-Select-</option>";

動作中のデモ:http : //jsfiddle.net/qhprG/

于 2013-02-28T17:11:25.633 に答える
0

-1<option value="">Choose an option</option>ではなく空白として入力します

jquery検証を使用する

rules: {
select: "required" }
于 2013-02-28T09:47:24.780 に答える