Tinywan / webman-validate

the most awesome validation library for webman plugin
https://www.workerman.net/webman
Apache License 2.0
14 stars 3 forks source link

调用报错 #6

Open liuqingliu opened 8 months ago

liuqingliu commented 8 months ago

docker环境8.0.30(krisss/docker-webman:8.0-cli-alpine), 报错$rule必须是array(需要$rule 前添加上array) 7.2->7.4

接着报错 Typed property Tinywan\Validate\Validate::$currentScene must not be accessed before initialization

$data = [
            'name'  => 'Tinywan',
            'age'  => 24,
            'email' => 'Tinywan@163.com'
        ];
        $validate = new TestValidate();
        $validate->check($data);

需要加上scene方法参数才行.😭

Tinywan commented 8 months ago

还没用到8.0

liuqingliu commented 8 months ago

我在你的方法里稍微修改了一下.可以用.只是希望能备注一下版本,或者稍加修改一下😂,这样其他小白使用的时候不会遇到坑.

liuqingliu commented 8 months ago

另外,大佬,这个异常抛出去之后,好像code是固定的,无法修改,会不会不太友好?比如http_code 是400标识参数问题, msg可以自定义,但是里面的code都是一样的哇? 这样业务code不好区分,只能根据msg来处理?

Tinywan commented 8 months ago

我在你的方法里稍微修改了一下.可以用.只是希望能备注一下版本,或者稍加修改一下😂,这样其他小白使用的时候不会遇到坑.

那你可以提交个PR,我发个版本备注一下就可以了

Tinywan commented 8 months ago

另外,大佬,这个异常抛出去之后,好像code是固定的,无法修改,会不会不太友好?比如http_code 是400标识参数问题, msg可以自定义,但是里面的code都是一样的哇? 这样业务code不好区分,只能根据msg来处理?

你可以使用 https://www.workerman.net/plugin/16 这个异常插件,支持配置

image

liuqingliu commented 8 months ago

不,我正在研究您的这个插件,我指的具体某个400下的业务code, http_code , 400 没问题, 但是 code 我可能姓名错误code=-1, 手机号错误为code=-2; 这种.

liuqingliu commented 8 months ago

另外,大佬,这个异常抛出去之后,好像code是固定的,无法修改,会不会不太友好?比如http_code 是400标识参数问题, msg可以自定义,但是里面的code都是一样的哇? 这样业务code不好区分,只能根据msg来处理?

你可以使用 https://www.workerman.net/plugin/16 这个异常插件,支持配置

image

这个插件使用“throw new BadRequestHttpException('账号或密码不能为空')” 未出现预期的400和提示,而是500和“Internal Server Error” 😂

Tinywan commented 8 months ago

你先看看我之前写的文章,再看看怎么写:RESTful API接口设计规范与最佳实践 https://mp.weixin.qq.com/s/mNhMCzUtLUKrIzqSVa-qZA