【发布时间】:2014-02-13 10:04:50
【问题描述】:
我想评估 Laravel 在客户端使用 parsley .js 构建的表单。
但是当我点击提交时,没有进行验证。
** in 'view.blade.php**
{{Form::open(array('action' => 'PositionController@createPosition', 'method' => 'post','files'=>true,'enctype' => 'multipart/form-data','parsley-validate' => 'true'))}}
{{Form::text('position',NULL,array('parsley-required' => 'true', 'parsley-type' => 'number'))}}
{{Form::submit('Hinzufügen',array('class' => 'blue'))}}
{{ Form::close() }}
** 输出**
<form method="POST" action="http://localhost/positions" accept-charset="UTF-8" enctype="multipart/form-data" parsley-validate="true">
<input name="_token" type="hidden" value="1234">
<input parsley-required="true" parsley-type="number" name="position" type="text">
<input class="blue" type="submit" value="Hinzufügen">
</form>
Laravel 版本:4.1
欧芹版本:1.2.3
更新
如果我用硬编码的 HTML 表单替换表单表单构建器代码,它似乎可以工作。于是我环顾了docs,发现:
$( '#form' ).parsley();
将 Parsley 绑定到表单(如果您的表单是动态呈现的,则很有用。)
但在添加“#parsleyForm”并将 JavaScript 绑定到我的网站后,仍然没有任何反应
$( document ).ready(function() {
$('#parsleyForm').parsley();
});
对我如何使用 Form Builder 和 Parsley 有什么建议吗?
【问题讨论】:
-
愚蠢的问题,你有正确的 parsely.js 文件路径并且它被正确加载了吗?另外,请尝试仅使用
parsley-validate而不在Form::open()上将其设置为 true -
为什么愚蠢?当然欧芹是正确加载的。删除 ="true" 不会改变任何东西。
-
我并不是在暗示你的问题很愚蠢,我是在暗示我想问一个愚蠢的问题,以确保正在加载内容。很抱歉这么走。
-
如果您不能/不能在
<form>上指定parsley-validate="true",您只需要$('#parsleyForm').parsley();。另外,您确实使用id="parsleyForm"生成表单,是吗? -
是的,我添加了 ID 以测试它是否适用于 JavaScript。
标签: validation laravel laravel-4 parsley.js