2011-01-23 3 views
0

O 필드가 jQuery에 의해 미리 채워지는 양식이 있습니다. 사용자가 필드를 클릭하면 필드가 비게되고 정보가 입력됩니다. 그러나 각 신청서에 정보를 입력하지 않으면 기본값이 제출됩니다. Codeigniter에 내장 된 유효성 검사를 사용하여 사용자가 이름이 "First Name"인 계정을 만들지 못하도록하고 싶습니다.Codeigniter의 양식 유효성 검사에서 단어를 허용하지 않는 방법이 있습니까?

는 여기를 참조하십시오 :

감사합니다, 블레이크 otis.team2648.com/auth/register

답변

1

당신은 콜백 기능을 사용할 수 있습니다

// 규칙

$this->form_validation->set_rules('first_name', 'required|callback__no_first_name'); 

을 // 콜백

function _no_first_name($str) { 
    if ($str !== 'First Name') { 
     return TRUE; 
    } 
    else 
    { 
     $this->form_validation->set_message('_no_first_name', 'You should not have "First Name as the first name"'); 
     return FALSE; 
    } 
} 
+0

단일 사용 솔루션이 아니라 쉽게 재사용 할 수있는 무언가를 만드는 기회라고 생각합니다. – jondavidjohn

0

필드에 값으로 기본 텍스트를 쓰지 마십시오!

<input type="text" name="uname" id="uname" placeholder="Your name" /> 

사용자가이 필드에 포커스를 설정하면 텍스트가 사라집니다. 그러나 사용자가 아무 것도 삽입하지 않으면 값이 제출되지 않습니다.

+0

자리 표시자는 사용자 지원 html5가 필요합니다. 이는 주류가 아닙니다. – jondavidjohn

1

나는 Form_validation 라이브러리를 확장하고 쉽게 재사용 할 수있는 더 가치있는 폼 유효성 검사 규칙으로 바꿀 ...

예를 것 -

class MY_Form_validation extends CI_Form_validation { 

    function __construct() { 
     parent::CI_Form_validation(); 
    } 

    function disallow_string($str,$word) 
    { 
     return (strpos($str,$word) === FALSE) ? TRUE : TRUE; 
    } 
} 
(CI의 버전에 관련된 정보를 변경) application/libraries

및 유효성 검사에 MY_Form_Validation.php 코드 위

장소, 그냥이

같은 규칙을 사용

그런 다음 내가 생각할 수있는 다른 용도로 모든 필드에 동일한 규칙을 사용할 수 있습니다.

관련 문제