- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 proengsoft/laravel-jsvalidation结合自定义 FormRequest 和我通过服务提供商中的 Validator::extend(...) 定义的自定义验证规则。这很好用。
但是,当我将我的自定义规则移植到 Laravel 5.5+ 中新的(差不多)自定义规则类时,JsValidator 无法获取我的自定义规则消息。
我有这个自定义规则:
use Illuminate\Contracts\Validation\Rule;
class MyRule implements Rule
{
public function passes($attribute, $value) {
return $value > 10;
}
public function message() {
return 'Your :attribute is pretty small, dawg!';
}
}
我的表单请求使用此规则:
use Illuminate\Foundation\Http\FormRequest;
use App\Rules\MyRule;
class MyRequest extends FormRequest
{
public function authorize() {
return true;
}
public function rules() {
$rules = [
'foo' => 'required|numeric',
'bar' => ['required', new MyRule()],
];
return $rules;
}
}
这应该可以,但我在
上抛出异常{!! JsValidator::formRequest('\App\Http\Requests\MyRequest') !!}
Proengsoft\JsValidation\Javascript\MessageParser.php 调用 Str::snake(Object(App\Rules\MyRule)) 时抛出异常。
JsValidation 在调用 Validator->getMessage($attribute, $rule) 之前不查看 $rule 对象类型它应该在哪里调用 $rule->messages();
我能否以某种方式解决这个错误,并将 laravel-jsvalidation 与我的自定义规则和 FormRequest 一起使用——或者它是否一定需要我发出拉取请求并希望它会被修复……总有一天?我想让这项工作现在就开始。
最佳答案
这可以通过传递基于规则和消息数组的JsValidator 实例来存档,而不是传递表单请求。在 Controller 中将此实例传递给 Blade 。阅读here了解更多详情。
JsValidator::make($rules, $messages, $customAttributes, $selector)
在 Controller 中,
$validator = JsValidator::make(
[
'name' => 'required',
],
[
'name.required' => 'Name field is a required field',
]
)
return View::make("Your view", compact($validator));
在 Blade 中,
{!! $validator->selector('.wizard_frm') !!}
<form class='wizard_frm'></form>
在这种情况下,我们可以创建请求类的对象,并在需要时将规则函数返回的数组传递给 JsValidator::make
。
关于laravel - proengsoft/laravel-jsvalidation 如何使用自定义规则消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49409899/
我有一个 js 文件夹,我想使用 gulp 处理它。但是,当存在语法错误时,gulp trace 的输出不会指定出现错误的文件。 现在我的 gulpfile 看起来像这样: var gulp = re
我正在使用 laravel-jsValidation,https://github.com/proengsoft/laravel-jsvalidation我的问题是只使用了我的规则列表中的第一条规则。
我使用 proengsoft/laravel-jsvalidation结合自定义 FormRequest 和我通过服务提供商中的 Validator::extend(...) 定义的自定义验证规则。这
我正在使用 proengsoft/laravel-jsvalidation为了验证我的自定义表单请求,但它对我不起作用,它给出了 ReferenceError: jQuery is not defin
我正在使用 chosen像这里一样在多选中转换一个简单的选择... {!! Form::label('media_formats', trans('medias::messages.valid_fo
您好,我正在尝试验证数组输入并选择如下: {!!Form::select('mmscod_id[]',['' =
我是一名优秀的程序员,十分优秀!