【发布时间】:2014-01-03 09:42:32
【问题描述】:
我一直在松散地遵循本教程 (http://jasonlewis.me/article/laravel-using-forms-and-the-validator) 并在本教程和 Laravel 文档之间切换,以尝试在我的注册表单上获得某种形式的验证。我正在使用 Laravel 4.1 并将一些路由移至控制器。
这是我注册页面的路由代码
Route::resource('signup', 'Signup');
我的查看代码...
{{ Form::open(array('signup', 'post')) }}
<div class="row">
<div class="large-10 large-centered columns @if($errors->has()) error @endif">
{{ Form::label('name', 'Name') . Form::text('name') }}
@if($errors->has())
<small class="error">{{ $errors->first('name') }}</small>
@endif
</div>
</div>
<div class="row">
<div class="large-10 large-centered columns @if($errors->has()) error @endif">
{{ Form::label('email', 'Email Address') . Form::email('email') }}
@if($errors->has())
<small class="error">{{ $errors->first('email') }}</small>
@endif
</div>
</div>
<div class="row">
<div class="large-10 large-centered columns">
{{ Form::submit('Submit', array('class' => 'success button')) }}
</div>
</div>
{{ Form::close() }}
我的控制器代码...
public function store()
{
//
$rules = array(
'name' => array('required', 'users,name'),
'email' => array('required', 'email', 'unique:users,email')
);
$validation = Validator::make(Input::all(), $rules);
if ($validation->fails())
{
// Validation has failed.
return Redirect::to('signup')->withInput()->withErrors($validation);
}
}
现在的问题...如果我将所有字段留空,它会出现错误,告诉我没有输入任何内容,这在我输入电子邮件时很好并且相同,但没有其他内容。但是当我输入名称时,它会告诉我 Method [validateUsers,name] 不存在。
我尝试将数组更改为仅 name 和 signup,name 但仍然出现分别更改方法的错误。我想知道我做错了什么以及在填写完字段后如何解决这个问题?
【问题讨论】:
-
您到底想用
'name' => array('required', 'users,name'),中的users,name做什么? -
我不完全确定,我只是按照伙计们的教程。我已经删除了那部分,现在一切正常。 :)