如何使用CodeIgniter的Form Validation类验证"不匹配"类型?

Sha*_*oon 4 validation codeigniter

我想确保某个文本字段不包含特定值.有没有办法让我使用CI的表单验证类来完成这项工作,还是我必须为它编写自己的扩展?

Bil*_*iam 8

我会扩展表单验证类:http: //codeigniter.com/user_guide/general/creating_libraries.html

就像是

<?
class MY_Form_validation extends CI_Form_validation {
  function __constuct() {
    parent::__constuct();
  }
  function isnt($str,$field){
    $this->CI->form_validation->set_message('isnt', "%s contains an invalid response");
    return $str!==$field;
  }
}
?>
Run Code Online (Sandbox Code Playgroud)

你的验证规则是这样的

trim|alpha_numeric|isnt[invalid value]
Run Code Online (Sandbox Code Playgroud)

或者,您可以创建回调函数,而不是扩展类.CI用户指南的表单验证部分有一个相关示例:http: //codeigniter.com/user_guide/libraries/form_validation.html#callbacks