2017-05-12 19 views
1

私はParlsey.jsで警告と致命的なエラーの2つのグループを使用しています。警告が失敗した場合でもフォームは送信されますが、重大なエラーが失敗した場合は送信されません。Parsley.js検証が失敗したフォームを送信

別の投稿で見た$('form').off('form:validate');を使ってみましたが、何もしていないようです。

理想的には、クリティカルグループに障害が発生した場合にのみフォーム提出を防止したいと思いますが、Parsley.jsがこれをサポートしているかどうかは疑問です。しかし、有効であるかどうかにかかわらず、Parsley.jsに常にフォームを提出するように指示する方法があるはずです。クリティカルグループのみをチェックし、失敗した場合は送信を防止するためにサブミットハンドラを登録することができました。

私はこれを行うための資料で何も見つけることができません。どんな助けでも大歓迎です!

答えて

0

これを行う方法はありません。

submitイベントを代行受信し、2つのグループの検証を行うためにParsleyを呼び出して、結果に満足すれば$('.your-form').parsley()._submit()を呼び出します。

名前が_で始まるので、それは私的な方法です。また、_submitが別の「送信」イベントをトリガーするため、無視する必要があります(like in this code)。

FWIW、ParsleyはHTML5のバリデーションを超えて、まだと互換性があります。あなたが実際にやってみたいことは、HTML5標準に反しているので、やるのが簡単ではないことはかなり妥当です。

+0

はい、これは珍しいユースケースですが、これらの重要ではない警告があってもユーザーに「警告」を表示しても、「草案」を保存できるようにしたいと考えています。 Parsleyが珍しい要求を考えると最高の解決策ではないかもしれないように思えます。 – patrick3853

+0

'$( '。your-form').parsley()._ submit()'を使うと、無限ループが発生しました。私は、(jQuery要素の代わりに)フォームのネイティブ 'DOM'要素に対してnative JS' submit() 'メソッドを呼び出すことになりました。 – patrick3853

+0

ああ、そうです。また、提出されたものがParsleyのものであるかどうかをチェックしなければなりませんでした([this code](https://github.com/guillaumepotier/Parsley.js/blob/master/src/parsley/form.js#L23-L24)のように) 、 ごめんなさい) –

関連する問題