Laravel - 验证后返回不同的jquery形式

时间:2014-06-29 11:49:46

标签: php jquery laravel laravel-4

我想知道我是否可以提供一些帮助。

我有一个表单,它根据下拉值使用jQuery切换表单元素。

喜欢这样

<select id="type">
    <option value="a">Account</option>
    <option value="b">Insurance</option>
    <option value="c">Other</option>
</select>

<div id="a" class="box">
    <input type="text" name="accname" />
</div>

<div id="b" class="box">
    <input type="text" name="insnum" />
</div>

<div id="c" class="box">
    <input type="text" name="othername" />
</div>

<script type="text/javascript" language="javascript">
    $(document).ready(function(){
        $('.box').hide();
        $('#a').show();
        $('#type').change(function(){
            $('.box').hide();
            $('#'+$(this).val()).show();
        });
    });
</script>

在我的控制器中,我使用switch语句进行验证,如下所示:

$typeCheck = Input::get('type');

switch ( $typeCheck ) {

    case "a":
        // Validation here
        break;

    case "b":
        // Validation here
        break;

    case "c":
        // Validation here
        break;

}

我遇到的问题是,如果验证失败,它将返回到原始页面加载设置并显示第一个文本框。

所以,如果我从下拉列表中点击“其他”,没有输入任何内容,并点击提交...它将返回错误'你没有在其他文本框中输入任何内容',但是会显示帐户文本框。

如果验证器失败,这是我用来发送回来的代码

return Redirect::to('page-name')
    ->withErrors($v)
    ->withInput();

有什么方法可以将“类型”值发送回表单,然后检查一下以显示该选项吗?

我卡住了。

非常感谢任何帮助。

干杯,

1 个答案:

答案 0 :(得分:2)

您应该查看会话功能: http://laravel.com/docs/session

通常,您可以通过Session :: get(type)

读取您的类型值

重定向和重新输入值的类似问题可以在Laravel 4 how to display flash message in view?

找到