以下を含むcustom_form_validation.php
ファイルを作成しました。application\libraries
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Custom_form_validation extends CI_Form_validation {
function Custom_form_validation()
{
parent::__construct();
}
/* at_least_one_letter() by Ben Swinburne
* http://stackoverflow.com/a/9218114/1685185
-----------------------------------------------*/
public function has_at_least_one_letter( $string )
{
$result = preg_match('#[a-zA-Z]#', $string);
if ( $result == FALSE ) $this->set_message('has_at_least_one_letter', 'The %s field must have at least one letter.');
return $result;
}
}
次に、特定のコントローラーに次のようにロードします。
$this->load->library('form_validation');
$this->load->library('custom_form_validation');
最後に、関数has_at_least_one_letter
を次のように使用します。
$this->form_validation->set_rules('FieldName', 'field name', 'has_at_least_one_letter');
SOでここに示されている例に従って、独自のライブラリ、特に「拡張」に関するライブラリを構築したため、何が問題なのかわかりませんform_validation
。ステップや特別な部分を見逃していませんか?