2016-10-12 11 views
1

multidatepicker를 사용하여 필드 입력을 선택하고 multidatepicker 필드에 날짜를 입력하십시오 : 2016-10-02, 2016-10-13, 2016-10-25. 어떻게 모든 날짜 또는 하나의 유효성을 검사 할 수 있습니다, 어쩌면 나는 배열 regexp 검사기와 함께 존재할 수 있습니까?regexp를 사용하여 요소의 멀티 데이트를 검증하는 방법 PHP 젠드 프레임 워크

$element_edit->addValidator ('regex', false, array(
    'pattern'=>'/^\d{4}-\d{2}-\d{2}$/',//for only one 
    'messages'=>array(
     'regexNotMatch'=>'Validate error') 
    ) 
); 
$form->addElement($element_edit); 
+0

어떤 종류의 패턴을 찾고 계십니까? 쉼표로 구분 된 날짜? '패턴'=> '/^(\ d {4} - \ d {2} - \ d {2}) (? :, \ s * (? 1)) * $ /'를 찾고 있습니다. ' –

답변

2

난 당신이 특정 형식의 쉼표로 구분 된 (또는 공백없이 사이) 날짜의 덩어리를 검증 할 수있는 방법을 찾고 있습니다 믿습니다.

당신은

'pattern'=>'/^(\d{4}-\d{2}-\d{2})(?:,\s*(?1))*$/' 

regex demo

세부를 참조 사용할 수 있습니다 :

  • ^ - 문자열
  • 의 시작
  • (\d{4}-\d{2}-\d{2}) - 당신의 단일 날짜 문자열 패턴 : 4 자리, -, 2 자리, - 2 자리
  • (?:,\s*(?1))* -
    • ,의 0 개 이상의 시퀀스 - 쉼표
    • \s* - 0+ 공백
    • (?1) - 그룹 1과 동일한 패턴 (특정 일 패턴)
  • $ - 스트링의 단부 (전자에서 개행 심볼을 허용하지 \z로 대체 될 수있다 nd)
+0

호호, 좋은 직업, 너, 나를 구해라. –

0

충분합니다. 우리는 직장에서 젠드 (Zend)를 사용하기 때문에 많이 다루고 있습니다.

$this->addElement('text', 'firstname', array(
     'label'  => 'Your first name:', 
     'required' => true, 
     'validators' => array(
     array('regex', false, array(
     'pattern' => '{The pattern}', 
     'messages' => 'Your firvalidation message')) 
    ) 
)); 
+0

예를 들어 하나의 날짜에 대해서만 작동합니다. 다중 날짜의 유효성 검사가 필요합니다. 하나의 요소에 대해 패턴 배열과 같은 사람이 필요합니다. –

+0

내가 맞다면 –