【发布时间】:2014-02-21 18:16:07
【问题描述】:
我正在构建一个表单 (userModify),其中包含数组 $userFields 所需的所有属性。我希望能够在数据得到验证服务器端之前使用 jquery validate 来检查数据。我有一个在页面前面构建的字段数组。
$userFields=
array('userName'=>array('type'=>'field','required'=>NULL,'options'=>NULL),
'password' => array('type'=> 'field','required'=>NULL,'options'=>NULL),
'lastName' =>array('type'=>'text','maxSize'=>'32','required'=>'*','options'=>NULL),
'firstName'=>array('type'=>'text','maxSize'=>'32','required'=>'*','options'=>NULL),
'phoneNumber'=>array('type'=>'select','maxSize'=>NULL,'required'=>NULL,'options'=>$numbers),
'extension' =>array('type'=>'text','maxSize'=>'8','required'=>'*','options'=>NULL));
验证脚本:
$( "#userModify" ).validate({
rules: {
phoneNumber: {
required: true
}
}
});
我的问题是如何将字段规则动态地放入 jquery 验证结构中。查看数组,因此在此示例中,我将为 lastName、firstName 和 extension 构建规则。我不想静态添加字段规则,因为数组可以是任意数量的不同字段,而验证结构将包含大量规则。
我想过对另一个文件进行 ajax 调用以获取数组,然后分解 ajax 调用的结果,这是个好主意吗?
我知道这段代码显然是错误的,但我写在下面是为了描述我想要做什么。
$( "#userModify" ).validate({
rules: {
<?php
foreach ($userFields as $k => $v)
{
if ($v['required'] == "*")
{
//add jquery rule
}
}
?>
});
还有其他方法我应该尝试吗?
【问题讨论】:
标签: javascript php jquery ajax validation