【问题标题】:Is there a way to mingle validations in jQuery and CodeIgniter有没有办法在 jQuery 和 CodeIgniter 中混合验证
【发布时间】:2013-03-30 13:23:12
【问题描述】:

如果我们想同时包含 jQuery Validation 插件和 code igniter form_validation 类,我们必须在 jQuery 验证脚本和 CodeIgniter form_validation 中定义验证规则。有没有办法在一个电话中混合两者。就像,我只想在 jQuery 或 CodeIgniter 中定义一次验证规则

jQuery: http://docs.jquery.com/Plugins/Validation
CodeIgniter http://codeigniter.com/user_guide/libraries/form_validation.html

现在处理:

//jQuery
$("#username").validate({
 debug: true
})

代码点火器:

//Code igniter
$this->form_validation->set_rules('username', 'Username', 'callback_username_check');

1) 在控制器中加载库。

$this->load->library('jquery_validation');

2) 设置 CodeIgniter 标准验证规则(与 form_validtion 库相同的规则格式)。

$rules = array(
            array(
                 'field'   => 'username',
                 'label'   => 'Username',
                 'rules'   => 'required|min_length[2]'
              ),
           array(
                 'field'   => 'email',
                 'label'   => 'Email',
                 'rules'   => 'required|valid_email'
              ),
           array(
                 'field'   => 'url',
                 'label'   => 'URL',
                 'rules'   => 'required'
              )
       );

3) 设置错误信息。

$messages = array(
             'username'  => array( 'required'    => "Username is required",
                                   'min_length'  => "Please enter more then 2 char"
                                 ),

             'email'     => array( 'required'    => "Email is required",
                                   'valid_email' => "Please enter valid email"
                                 )
             );

4) 将验证规则和消息应用到库。

$this->jquery_validation->set_rules($rules);
$this->jquery_validation->set_messages($messages);

5) 生成 Javascript 验证码。

// pass css selector for your form to run method

$validation_script = $this->jquery_validation->run('#registration_form');

// echo $validation_script in your <script> tag

这是使用代码点火器验证定义添加 jquery 验证的方法。我的问题是获得一个验证库,该库使用此验证规则进行客户端和服务器端验证。

【问题讨论】:

    标签: codeigniter jquery-validate validation


    【解决方案1】:

    jQuery 验证发生在客户端。

    Codeigniter 验证发生在服务器上。

    它们完全相互独立。如果您正确设置规则,Codeigniter 验证甚至只会在 jQuery 验证由于某种原因没有发生时才会发生。

    【讨论】:

    • 谢谢。但我知道这一点。虽然应该有办法一键定义规则。我已经编辑了这个问题,让你明白。
    • 我猜你可以编写一个 jQuery 验证库,它使用 CI 验证规则来生成正确的 jQuery 验证规则……我不知道目前有哪个库可以做到这一点。跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多