CakePHP의 모델에서 공백이나 다른 특수 문자가 없도록 필드를 검증 할 수 있습니까?CakePHP - 필드에 공백이 없도록 필드의 유효성을 검사 할 수 있습니까? (밑줄과 하이픈을 가질 수 있습니다 .etc)
특히 온라인 폴더의 이름을 입력하면 하이픈, 밑줄 등을 사용할 수 있지만 물음표, 공백은 넣지 않아도됩니다.
CakePHP의 모델에서 공백이나 다른 특수 문자가 없도록 필드를 검증 할 수 있습니까?CakePHP - 필드에 공백이 없도록 필드의 유효성을 검사 할 수 있습니까? (밑줄과 하이픈을 가질 수 있습니다 .etc)
특히 온라인 폴더의 이름을 입력하면 하이픈, 밑줄 등을 사용할 수 있지만 물음표, 공백은 넣지 않아도됩니다.
참고로이 사용 : http://book.cakephp.org/view/1179/Custom-Validation-Rules
var $validate = array(
'login' => array(
'rule' => '/^[a-z0-9]{3,}$/i',
'message' => 'Only letters and integers, min 3 characters'
));
당신은 /^[a-z0-9_\-\.]+$/i
(정규 표현식)에 대한 규칙을 설정할 수 있습니다 당신은 당신이 원하는 추가 문자를 추가해야합니다.
정규 표현식을 사용하는 경우 기본적으로 전체 문자열 ^...$
에는 문자, 숫자, 밑줄, 하이픈 (이스케이프 됨), 마침표 (대개 불필요한 이스케이프 문자가 포함되어 있지만 문자가없는 문자와 일치 할 수 있음)가 포함되어 있는지 확실하지 않습니다. /i
은 대소 문자를 구분하지 않습니다. +
은 하나 이상의 문자가 유효해야 함을 의미합니다.
(테스트되지는 않았지만 충분히 간단해야합니다.)
'.'는 문자 그룹 내에서 이스케이프 할 필요가 없습니다. '/^[a-z0-9 _.-] + $/i'를 만들 수 있습니다. :) – deceze
오른쪽 ... 하이픈이 마지막에 오면 이스케이프 할 필요가 없습니다. – Guttsy
굉장 - 고마워. 나는 정규 표현식을 많이 사용하지 않지만, 정보를 검색 할만큼 충분한 것을 알고있다. - 어떤 이유로 든 em/wake/cake를 사용하는 것을 생각하지 않았다. - 고마워. (그리고 메모 deceze에 대한 감사) – Dave