ThinkPHP6에서 양식 유효성 검사를 수행하는 방법은 무엇입니까?

WBOY
풀어 주다: 2023-06-12 09:36:26
원래의
1587명이 탐색했습니다.

ThinkPHP6은 웹 애플리케이션 개발을 크게 단순화하는 PHP 기반 MVC 프레임워크입니다. 그 중 Form Validation은 매우 기본적이고 중요한 기능입니다. 이 기사에서는 ThinkPHP6에서 양식 유효성 검사 작업을 수행하는 방법을 소개합니다.

1. 유효성 검사 규칙 정의
ThinkPHP6에서는 아래와 같이 컨트롤러에서 $validate 속성을 정의하여 규칙을 정의할 수 있습니다.

use thinkValidate;
class UserController extends Controller {
    protected $validate;
    public function __construct(Validate $validate) {
        $this->validate = $validate;
    }

    // 定义验证规则
    protected $rule = [
        'name' => 'require|max:25',
        'email' => 'email',
        'age' => 'number|between:1,120',
    ];
}
로그인 후 복사

2. 유효성 검사 규칙을 정의하면 컨트롤러에서 $validate의 check() 메서드를 사용하여 정의한 유효성 검사 규칙을 실행할 수 있습니다. 확인 작업은 컨트롤러의 $request 개체에 대해 verify() 메서드를 호출하고 확인 규칙을 전달하여 구현할 수 있습니다.

public function add(Request $request) {
    $data = $request->param();
    $result = $this->validate($data, $this->rule);
    if ($result !== true) {
        return ['code' => 1, 'msg' => $result];
    }
    // 验证通过,执行添加操作
}
로그인 후 복사

위 코드에서 $request->param() 메서드는 양식의 모든 매개변수 값이 포함된 배열을 반환합니다. 검증을 위해 이를 검증() 메소드에 전달합니다. 검증에 실패하면 오류 메시지가 반환됩니다. 검증에 성공하면 추가 작업이 직접 수행됩니다.

3. 사용자 정의 오류 메시지

실제 개발에서는 일부 규칙에 대해 사용자 정의 오류 메시지를 설정해야 할 수도 있습니다. 이는 확인 규칙에서 message() 메소드를 사용하여 달성할 수 있습니다.

protected $rule = [
    'name' => 'require|max:25',
    'email' => 'email',
    'age' => 'number|between:1,120',
];

protected $message = [
    'name.require' => '用户名必填',
    'name.max' => '用户名最多不能超过25个字符',
    'email.email' => '邮箱格式错误',
    'age.number' => '年龄必须是数字',
    'age.between' => '年龄必须在1~120之间',
];
로그인 후 복사

컨트롤러에서 $validate의 message() 메소드를 사용하면 규칙의 오류 메시지를 사용자 정의할 수 있습니다. 예:

$result = $this->validate($data, $this->rule, $this->message);
로그인 후 복사

4. 일괄 확인

여러 양식을 확인해야 하는 경우 $validate의 배치() 메서드를 사용하여 일괄 확인을 수행할 수 있습니다. 예:

public function verify(Request $request) {
    $data = $request->param();
    $rule = [
        'name' => 'require|max:25',
        'email' => 'email',
        'age' => 'number|between:1,120',
    ];
    $message = [
        'name.require' => '用户名必填',
        'name.max' => '用户名最多不能超过25个字符',
        'email.email' => '邮箱格式错误',
        'age.number' => '年龄必须是数字',
        'age.between' => '年龄必须在1~120之间',
    ];
    $result = $this->validate($data, $rule, $message, true);
    if ($result !== true) {
        return ['code' => 1, 'msg' => $result];
    }
    // 验证通过,执行相关操作
}
로그인 후 복사
위 코드에서 $validate 메소드의 네 번째 매개변수는 true입니다. 이는 일괄 검증이 활성화되었음을 의미합니다. 일괄 확인을 켠 후 확인 실패 시 모든 오류 메시지를 반환하도록 여러 양식 확인 규칙을 설정할 수 있습니다.

요약:

ThinkPHP6에서는 컨트롤러에 $validate 속성을 정의하여 유효성 검사 규칙을 정의하고, $request 객체에 대해 verify() 메서드를 호출하여 양식 유효성 검사를 수행하며, 메시지( ) 방법 설정. 동시에, 배치() 메소드를 통해 배치 검증을 수행할 수 있습니다. 이러한 작업은 매우 기본적이고 일반적으로 사용되는 작업이므로 실제 개발에서는 능숙하게 마스터해야 합니다.

위 내용은 ThinkPHP6에서 양식 유효성 검사를 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿