国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

方法傳遞的參數(shù)如何驗證?

andyzu
public function getClassesinfo(Request $request, $id){
    // ......
}

我定義了個方法,$request 里的值我用的是 tinywan/validate 驗證的。
那這個 $id 應(yīng)該咋驗證?誰能給個示例,比如只能是整數(shù)

781 1 0
1個回答

軟飯工程師

驗證器寫法

class UserValidate extends Validate
{
    public $rule = [
        'id' => 'require|number|checkUser',
    ];

    public $message = [
        'id.require' => '主鍵ID不能為空',
        'id.number' => '主鍵ID必須是數(shù)字',
        'id.checkUser' => '主鍵ID不合法',
    ];
    /**
     * @param int $value
     * @return bool
     * @author: sansi
     */
    public function checkUser(int $value): bool
    {
        return WaterUserModel::find($value) !== null;
    }
    protected $scene = [
        'create' => ['user_name,password'], // 新增數(shù)據(jù)時需要驗證的字段
        'edit' => ['id'], // 編輯數(shù)據(jù)時需要驗證的字段
        'query' => ['start_time', 'end_time'], // 查詢數(shù)據(jù)時需要驗證的字段
    ];
}
```、
如何調(diào)用
```php
    public function addUser($request,$id)
    {
        $validate = new UserValidate();
        if (!$validate->scene('edit')->check($request->post())) {
            throw  new  ApiException($validate->getError());
        }
        //接下來的邏輯處理
    }

也可以直接這樣

use Tinywan\Validate\Validate;

class UserValidate extends Validate
{
    public $rule = [
        'id' => 'number',
    ];
    public $message = [
        'id.number' => '主鍵ID必須是數(shù)字',
    ];
}
    public function addUser($request,$id)
    {
        $validate = new UserValidate();
        if (!$validate->check(['id'=>111])) {
            throw  new  ApiException($validate->getError());
        }
        //接下來的邏輯處理
    }
  • 暫無評論
年代過于久遠,無法發(fā)表回答
??