thinkphp 프레임워크를 사용하여 개발하는 과정에서 데이터 검증이 필요한 상황에 자주 직면하게 됩니다. thinkphp는 편리한 검증 방법을 많이 제공하지만 때로는 어떻게 호출하든 데이터를 자동으로 검증할 수 없는 경우가 있습니다. 왜 이런거야?
먼저 thinkphp에서 자동 확인이 어떻게 작동하는지 이해해야 합니다. 모델에서 유효성 검사 규칙을 정의하는 경우 다음과 같습니다.
protected $validate = [ 'name' => 'require|max:25', 'age' => 'number|between:1,120', 'email' => 'email', ];
이 정의는 모델의 유효성 검사 속성을 정의합니다. 이 속성은 확인해야 하는 규칙이 포함된 배열입니다. 사용 중에 $model->validate($data)
메소드를 호출하여 데이터를 확인할 수 있습니다. $data
매개변수는 확인이 필요한 데이터입니다. 확인에 성공하면 메서드는 true를 반환하고, 그렇지 않으면 일련의 오류 메시지를 반환합니다. $model->validate($data)
方法来对数据进行验证。$data
参数是需要进行验证的数据,如果验证通过,方法会返回true,否则会返回一个错误信息的数组。
但是,在有些情况下,我们调用validate()
方法时,并没有进行自动验证。这是因为,thinkphp默认情况下并不会对数据进行强制的验证。如果我们想要对数据进行验证,需要手动调用验证方法,如下所示:
// 强制进行自动验证 $model->isUpdate(true)->validate($data);
在这里,我们将isUpdate
方法设置为true,表示这是一个更新操作,这样我们就可以强制进行自动验证了。
除了手动调用以外,我们还可以在模型中覆盖$updateValidate
validate()
메소드를 호출할 때 자동 검증이 수행되지 않습니다. thinkphp는 기본적으로 데이터의 필수 검증을 수행하지 않기 때문입니다. 데이터를 확인하려면 아래와 같이 확인 메서드를 수동으로 호출해야 합니다.
// 在模型中定义强制验证 protected $updateValidate = true;
isUpdate
메서드를 true로 설정하여 이것이 업데이트 작업임을 나타냅니다. 이제 자동 확인을 강제할 수 있습니다. 수동 호출 외에도 아래와 같이 모델의 $updateValidate
속성을 재정의하여 강제 유효성 검사를 설정할 수도 있습니다. 🎜rrreee🎜이런 방식으로 데이터 유효성 검사는 작업 중에 자동으로 수행됩니다. 업데이트 작업 . 🎜🎜요약하자면, thinkphp는 기본적으로 데이터에 대한 강제 유효성 검사를 수행하지 않습니다. 모델에서 강제 유효성 검사 속성을 수동으로 호출하거나 설정해야 합니다. 자동 확인을 사용하는 경우 확인 규칙이 다를 수 있으므로 신규 작업과 업데이트 작업을 구별하는 데 주의가 필요합니다. 🎜위 내용은 thinkphp가 자동으로 확인할 수 없으면 어떻게 해야 하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!