我的表格包含28个字段(客户要求)。 我正在使用Codeigniter框架。我必须输入28行代码来进行表单验证。 还有什么我可以做的其他事情,例如创建用于表单验证的帮助程序。 任何帮助,将不胜感激。 谢谢
答案 0 :(得分:0)
这里没有标准,也没有正确的方法,最好的选择是为验证数组中的每个输入创建验证规则,也许您可以进行检查以对其中的一些分类,例如“ fname” ,lname,...”具有相同的验证,但这不会为您节省任何开销。
但是也许最好的选择是像这样在base_controller
中创建一个函数:
function set_validation_rules()
{
$this->load->library('form_validation');
$config = array(
array(
'field' => 'firstname',
'label' => $this->lang->line($line.'firstname'),
'rules' => 'trim|required|alpha|min_length[3]|max_length[15]'
),
array(
'field' => 'lastname',
'label' => $this->lang->line($line.'lastname'),
'rules' => 'trim|required|alpha|min_length[3]|max_length[15]'
),
array(
'field' => 'password',
'label' => $this->lang->line($line.'password'),
'rules' => 'trim|required|min_length['.$min.']|max_length['.$max.']'
),
array(
'field' => 'passconf',
'label' => $this->lang->line($line.'password_confirm'),
'rules' => 'trim|matches[password]'
)
);
$this->form_validation->set_rules($config);
}
或按照您的建议创建一个助手,但是最重要的步骤是为自己命名一个var / input命名约定,并养成习惯,以便来自不同视图的输入具有相同的名称,并将所有输入传递给该函数,以便通过在其中添加切换用例进行修改后进行验证,以便每个名字都有自己的规则,每个密码都有自己的名字,依此类推,希望您能理解。