2014-07-09 7 views
1

저는 Laravel을 처음 사용하고 있으며 사용자 입력의 유효성을 검사하는 방법을 찾으려고합니다.Laravel/Ardent로 필드의 유효성을 검사하는 데 문제가 발생했습니다.

나는 여러 텍스트 필드, 텍스트 영역 및 체크 박스와 형태가 있습니다

 {{ Form::text('firstname', '', ['placeholder' => 'First Name', 'class' => 'form-control']) }} 
     {{ Form::text('lastname', '', ['placeholder' => 'Last Name', 'class' => 'form-control']) }} 
     {{ Form::email('email', '', ['placeholder' => 'Email', 'class' => 'form-control']) }} 
     {{ Form::textarea('question', '', ['placeholder' => 'Question', 'class' => 'form-control']) }} 
     {{ Form::checkbox('terms_and_conditions', 'yes') }} 
     {{ Form::label('terms_and_conditions', 'I agree to terms and conditions') }} 

유효성 검사 규칙은 다음과 같습니다 예상대로

public static $rules = array(
    'firstname' => 'required|between:2,20', 
    'lastname' => 'required|between: 2,30', 
    'email' => 'required|email', 
    'question' => 'required|max: 5000', 
    'terms_and_conditions' => 'required|accepted', 
); 

텍스트 필드는 모든 유효성을 검사하지만, 그럴 수 없어 유효성을 검사하려면 확인란 필드를 가져옵니다. 뷰에 $ 입력의 json을 되풀이하여 모델에 terms_and_conditions 체크 박스 값이 있는지 확인할 수 있으므로 유효성을 검사하지 않는 이유를 이해할 수 없습니까?

새 필드를 추가하거나 필드 이름을 변경하면 해당 필드도 유효성을 검사하지 않습니다.

내가 누락 된 항목이 있습니까?

+0

필수 및 필수 규칙 둘 다 필요합니까? 규칙이 받아 들여지면 그 일을 끝내지 않습니까? –

+0

또한 다음과 같은 오류 메시지가 생성됩니다. "이용 약관을 받아 들여야합니다." { "firstname": "Test", "lastname": "User", "email": "[email protected]"} (나는 명확성을 위해 _token 비트를 꺼 냈습니다) –

+0

@MitchGlenn, 나는 그렇게 생각하지 않는다. 필자는 필자가 필요로하지 않고 그것을 시도했다. 나는 받아 들여지는 것이 모두 필요하다고 생각했다. 나는 정말로 새로운 필드와 규칙을 추가하면 유효성 검사를하지 않는 것과 같은 문제가 있기 때문에 당황 스럽습니다. –

답변

2

나는 내 모델에 눈부신 멍청한 실수가 있다는 것을 깨달았다. terms_and_conditions를 채우기 가능 필드로 추가하는 것을 게을리했습니다. 양식이 이제 올바르게 검증됩니다.하지만이 질문은 데이터베이스에 필드가 추가되지 않도록 제외 할 수 있습니까? 차라리 데이터베이스에 해당 열을 넣지 않고 Laravel을 사용하면 예외가 발생합니다.

관련 문제