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