web2pyでフォームを送信せずにajaxを使用してCRUDフォームフィールドを検証できますか?CRUDを使用したAJAXフォーム提出
私はweb2pyのオンラインドキュメントを見て、このリンクを見てきました: http://web2py.com/books/default/chapter/29/11#Ajax-form-submission 私たちはカスタムhtmlを使ってやります。 しかし、私はCRUDを使ってそれをやりたい。
web2pyでフォームを送信せずにajaxを使用してCRUDフォームフィールドを検証できますか?CRUDを使用したAJAXフォーム提出
私はweb2pyのオンラインドキュメントを見て、このリンクを見てきました: http://web2py.com/books/default/chapter/29/11#Ajax-form-submission 私たちはカスタムhtmlを使ってやります。 しかし、私はCRUDを使ってそれをやりたい。
はい、CrudフォームにはカスタムHTMLを使用できますが、デフォルトでCrudはフォームにhiddenフィールド_formname
と_formkey
を挿入します(後者はCSRF攻撃から保護します)。 Crudはこれらのフィールドがフォームと共に送信されることを期待するので、フォームはCrudを介して作成されなければならず、フォームオブジェクトはビューに渡されなければなりません。フォーム用のカスタムHTMLを作成する方法の詳細については、hereを参照してください。
フォームをAjax経由で送信しやすくするために、フォームをLOAD()
(here参照)を介してAjaxコンポーネントに入れることを検討してください。
しかし、私はカスタムHTMLを使ってそれをやりたいとは思っていません。**クライアント側の検証のためにCRUDフォームを使いたいです。またはSQLFORMでも実行できます。クライアント側のバリデータを保存する時間はありませんか? – rahulserver
申し訳ありませんが、あなたの質問は明確ではありませんでした。 Ajaxを使用していないクライアント(Ajaxを含まない)だけではなく、Ajax(サーバー通信を含む)を使用して検証することを希望したとします。あなたが指摘した本の例は、クライアント側の検証もしません。短い答えはいいえ、web2pyバリデーターはクライアント側では実行されません。すべてのバリデーターはサーバー側のみです。それが行う唯一のクライアント側の検証は、整数、二重、および小数のフィールドです。とにかく、セキュリティ上の理由から、クライアントのみの検証は必ずしも良い考えではありません。悪意のあるユーザーは検証されていないデータを投稿することができます。 – Anthony
お返事ありがとうございます。 Asp.netには、カスタムバリデーター、正規表現バリデーターなどのクライアント側バリデーターがあります.Web2pyにはこれがありませんので、web2pyの将来のバージョンに組み込むことができれば幸いです。そして、私はクライアントだけのバリデータを意味しませんでした。 – rahulserver