6

CodeIgniter의 폼 유효성 검사 오류 메시지를 시스템 파일에 건드리지 않고 변환 할 수 있습니까?CodeIgniter의 폼 유효성 검사 오류 메시지 번역하기

+0

이것은 내 대답 http://stackoverflow.com/a/36331269/3143384입니다. 유효성 검사 파일을 변경해야하지만이 방법으로 모든 필드에 사용자 정의 메시지를 설정할 수 있습니다. –

답변

25

실제로 다른 언어로 번역하는 경우, 구성 값 $config['language']을 원하는 언어로 설정하면됩니다. 당신이 실제 config.php 파일을 변경하지 않으려면이 같은 구성 객체의 set_item() 기능의 사용을 통해 그것을 할 수 있습니다 :

$this->config->set_item('language', 'spanish'); 

참조 : CodeIgniter Doc for the Config Class

이 당신이 할 수 있다고 가정 귀하의 language 디렉토리의 스페인어 디렉토리에 적어도 form_validation_lang.php 파일이 있어야합니다.

그러나 Form_validation 개체에 대한 사용자 지정 메시지를 만들려는 경우 system\language 디렉터리의 form_validation_lang.php 파일을 복사하여 application\language 디렉터리로 옮길 수 있습니다. 이제 새로운 언어 파일을 편집하여 원하는 다른 메시지를 반영 할 수 있습니다. application/language 디렉토리에서 파일을 제거하여 기본 메시지로 쉽게 되돌릴 수도 있습니다.

language 파일을 건드려보고 싶지 않은 경우 수동으로 메시지를 무시하는 또 다른 방법입니다. 당신은 너무처럼 Form_validation 라이브러리 개체를 통해이 작업을 수행 할 수 있습니다

$this->form_validation->set_message('required', 'This is a required item!');` 

참조 : CodeIgniter Doc for the Form Validation Class

+1

이것은 정말 훌륭한 답변입니다 –

+1

언어 팩 : https://github.com/EllisLab/CodeIgniter/wiki/Language-Translation - 그러나 많은 링크가 불행하게도 죽었습니다. ( – user2019515

+0

@wescrow가 언급 한 방법을 적용하십시오. 언어 팩을 찾으러 오십시오. CI 3.x 언어에 대한 공식 링크가 있습니다. https://github.com/bcit-ci/codeigniter3-translations – TechCare99

0

당신이합니다 (set_rules을 사용, 일부 특정 규칙에 특정 필드에 대한 사용자 지정 오류 메시지를 설정해야하는 경우) 방법을 :

$this->form_validation->set_rules('field_name', 'Field Label', 'rule1|rule2|rule3', 
     array('rule2' => 'Error Message on rule2 for this field_name') 
); 

이렇게하면 모든 필드 문제를 독립적으로 해결할 수 있습니다. :)