使用return Redirect时,在laravel 4.2上切换html部分

时间:2015-10-14 09:54:23

标签: laravel laravel-4

在我的视图中,我有一个用户可以向数据库添加新记录的部分,但是laravel表单位于默认隐藏的部分内,这是我视图中的代码

<section id="anCity" style="display:none">
{{ Form::open(array('url'=> 'addCty')) }}
    <div class="form-group">
      {{ Form::label('ncty', 'City Name: ') }} <span style="color:red"><i>{{ $errors->first('ncty', ':message') }}</i></span>
      {{ Form::text('ncty', Input::old('ncty'), array('class' => 'form-control','placeholder' => 'Insert City Name')) }}
    </div>
    {{ Form::submit('Add new City', array('class' => 'btn btn-primary')) }}
{{ Form::close() }}
</section>

在我的控制器里面是我的代码

$rules = array(
    'ncty' => 'required|max:100|alpha_num'
);  

$messages = array(
    'ncty.required' => 'Please enter City Name.',
    'ncty.max'      => 'City Name can only have a maximum of 100 characters',
    'ncty.alpha_num' => 'City Name can only contain alphanumeric characters'
);

$validator = Validator::make(Input::all(), $rules, $messages);
if ($validator->fails()) 
{
    return Redirect::to('lookup_board')
        ->withErrors($validator)
        ->withInput(Input::except('password'));
} 
else
{
    //insert new record
}

有没有办法在我的控制器视图上切换部分? 感谢

2 个答案:

答案 0 :(得分:1)

你可以这样做:

<span class="@if($errors and $errors->has('ncty')) has-error @endif">{{ $errors->first('ncty') }}

我想你正在使用Twitter Bootstrap,因此它已经有一个类has-error用于你可以使用的错误。

答案 1 :(得分:1)

使用以下内容替换您的开场section代码:

<section id="anCity"{{ ($errors->any() ? '' : ' style="display:none"') }}>