lavarel 验证表单,验证器带需要参数的话怎么写?

2014-03-18 15:28:09 +08:00
 yakczh
$v = Validator::make($data, array(
'email' => 'required|email',
'salary' => 'required|numeric',
));

看了一个文档,一个字段多个验证规则是用|分开的,如果是数值范围 比如 3000-5000这种自定义的参数,怎么设置验证表单的rules
2964 次点击
所在节点    PHP
7 条回复
dongbeta
2014-03-18 16:05:15 +08:00
可以写两个:

'salary' => 'required|numeric|min:3000|max:5000',
yakczh
2014-03-18 16:12:16 +08:00
@dongbeta 再问个问题, artisan 能把代码里的print_r信息显示在控制台上吗?
Route::post('register', array('before' => 'csrf', function()
{
$rules = array(
'username' => array('required', 'unique:users,username'),
'email' => array('required', 'email', 'unique:users,email'),
'password' => array('required', 'min:7')
);
$data=Input::all();

print_r($data);
$validation = Validator::make( $data, $rules);

if ($validation->fails())
{
$messages = $validator->messages();

print_r($messages);

return Redirect::to('/add')->withErrors($validator)->withInput();

}else {

User::create($data);

}

模板文件是
<h2>Register!</h2>

@if( $errors->count() > 0 ) <p>The following errors have occurred:</p>
<ul id="form-errors">
{{ $errors->first('email', '<li>:message</li>') }}
{{ $errors->first('username', '<li>:message</li>') }}
{{ $errors->first('password', '<li>:message</li>') }}
</ul> @endif

<hr/>

{{ Form::open(['register', 'post']) }}

<br/>{{ Form::label('username', 'Username') . Form::text('username', Input::old('username')) }}
<br>{{ Form::label('email', 'E-mail') . Form::text('email', Input::old('email')) }}
<br>{{ Form::label('password', 'Password') . Form::password('password') }}

<br>{{ Form::submit('Register!') }}

{{ Form::token() . Form::close() }}


递交表单老是重定向到 表单页面,显示
The following errors have occurred:

但是下面什么也没有,怎么在服务端 查看post提交的数据和出错信息?
dongbeta
2014-03-18 16:21:39 +08:00
没看明白。以上这段程序的 php 不应该在一个文件中吧。
yakczh
2014-03-18 17:10:45 +08:00
@dongbeta 一个是后台接受递交参数的 一个是前台模板显示表单的
Yuansir
2014-03-18 17:16:34 +08:00
'salary' => 'required|numeric|between:3000,5000,
yakczh
2014-03-18 17:20:53 +08:00
@Yuansir 如果是验证敏感词和非法注入之类的处理呢?
Yuansir
2014-03-18 17:30:05 +08:00
@yakczh github上有类似 xssinput 的包,你也自己写过滤逻辑对Input处理

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/104859

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX