关于表单验证类中规则differs的问题
CI框架中form_validation中有关differs的介绍:如果表单元素值与参数中对应的表单字段的值相等,返回 FALSE;然而在实际运用中,我却发现一个问题,不知道问题出在哪里:
首先,在我的表单中有两个标签:
<td align="center"><strong>原地点</strong></td>
<td><?php echo $main['pname'] ?></td>
<td><input type="text" name="oldpid" value="<?php echo $main['pid'];?>"></td>
</tr>
<tr>
<td align="center"><strong>新地点</strong></td>
<td><select name="newplace" id="newplace">
<?php foreach($place as $p): ?>
<option value="<?php echo $p['pid'];?>"><?php echo $p['pname'] ?></option>
<?php endforeach; ?>
</select>
</td>
我想做的是判断当【新地点】和【原地点】不相同时触发事件,我的php代码如下:
/**************在config\form_validation.php中的配置如下*************/
'dbsj' => array(
array(
'field'=>'dbsj',
'label'=>'调拨时间',
'rules'=>'required|exact_length|numeric'
),
array(
'field'=>'newplace',
'label'=>'新地点',
'rules'=>'differs'
)
);
/****************在代码文件中语句如下***********************/
$this->form_validation->run('dbsj');
if ( $this->input->post('oldpid') == $this->input->post('newplace'))
{
echo "相等";
}
else
{
echo"不相等";
}
最终发现规则differs总是不触发,而网页的确提示了“相等”;
求大神解答问题何在??
页:
[1]