カスタムJavascript検証と組み込みColdfusion検証を組み合わせる方法を知っている人はいますか?カスタムJavascript警告はCFと同じ警告ボックスに表示されますか?私はCFがonsubmitイベントをフォームに追加し、いくつかのjsバリデーションを行う_CF_check ['フォームの名前']関数を作成することを知っていますが、どのようにアラートを組み合わせますか?カスタムJavaScript検証によるColdfusion CFFORM検証の拡張
答えて
コメントに記載されているとおり、onValidate
属性を使用してカスタムJavaScript関数を呼び出すことができます。 cfselect(あなたが使用できないと言ったもの)を使用するのと同じくらいエレガントではありません。しかし、アラートを統合し、内部機能をハッキングすることはありません。何らかの理由でonValidateを使用できない場合は、おそらく内部構造を掘り下げる必要があります。
<script type="text/javascript">
function yourFunction(frm, fld, value){
// some pointless validation
var elem = document.getElementById('foo');
return elem.options[elem.selectedIndex].value == 2;
}
</script>
<cfform name="theForm" method="post">
<select name="foo" id="foo">
<option value="0">apples</option>
<option value="1">oranges</option>
<option value="2">pear</option>
<option value="3">grape</option>
</select>
<cfinput type="hidden" name="fooValidate" onValidate="yourFunction"
message="You must select pears because we say so..">
<input type="Submit" name="txtSubmit">
</cfform>
注:あなたのjavascript関数のシグネチャはでなければなりません:
function yourFunction(formObject, formField, fieldValue) {
...
// return true if validation was successful
}
ああ、そんなことをやっていると思っていませんでした。完璧です...ありがとう! – cam
私はあなたがそれを行うことができる唯一の方法は、次のコードのようなカスタマイズされた関数からjavascript関数をビルドすることです。
<script>
function myFunction (_CF_this) {
.....
.....
_CF_checkmyForm(_CF_this) // here is CF built-in function
.....
.....
}
</script>
<cfform name="myForm">
<cfinput name="txtInput" required="Yes">
<input type="Submit" name="txtSubmit">
</cfform>
私はその関数を呼び出すことが問題ではないと考えています(既にサブミット時に自動的に呼び出されています)。問題は、javascript検証アラートを1つに結合する方法です。 – Leigh
@Leighあなたは正しいです。それらを呼び出すことは問題ではなく、両方とも(個別に)発砲するでしょう。問題は自動的にCFが呼び出され、それらのアラートが1つのアラートボックスに表示されます。これらのアラートが合格すると、カスタムJSがチェックされ、さらにアラートボックスが開きます。 – cam
@cam - 私の答えを見てください。それは私が内部を掘り下げることなく考えることができる最も簡単な選択肢です。 – Leigh
私は実際に検証ロジックを作成することによって、全体的に離れてCFFORMの組み込みの検証メカニズムを使用してから移動し、CFFORMましたCFCメソッドでは、jQuery.ajax()
を使用してリモートで呼び出します。これにより、検証を1か所に保持し、クライアント側とサーバー側の両方の検証に使用できるようになります。
- 1. jQuery検証エンジンのカスタムJavaScriptの検証
- 2. FuelPHP拡張ORM検証
- 3. ColdFusion CFGrid:JQueryによる入力の検証
- 4. RESTエンドポイントパラメータの検証とカスタム検証によるLocalDateの比較
- 5. symfony3のファイル拡張子の検証
- 6. jQuery-File-Uploadコンテンツタイプ/拡張子の検証
- 7. 流暢検証カスタムの検証ルール
- 8. Laravel(5.3.24+)検証:カスタムエラーメッセージでのカスタム検証
- 9. javascriptによるテキストエリア検証
- 10. JavaScriptによるフォーム検証
- 11. JavaScriptによるパターン検証
- 12. ブートストラップツールチップによるJavascript検証
- 13. ColdFusion 9日付検証?
- 14. Yiiカスタム検証とサーバー側検証?
- 15. フラッシュメッセージとLaravel検証とカスタム検証パラメータ
- 16. カスタム検証モデル
- 17. カスタム検証エラーメッセージ
- 18. カスタム検証Angular2
- 19. カスタム検証
- 20. は、カスタム検証
- 21. カスタムJPA検証
- 22. カスタム検証ルール
- 23. カスタム検証
- 24. カスタム検証
- 25. jQuery検証カスタム検証でスペース検証を追加しない
- 26. ループバックの配列によるカスタム検証
- 27. Railsのカスタム検証
- 28. カスタムFormsAuthenticationTicketの検証
- 29. Meteor.loginWithPasswordのカスタム検証
- 30. laravelのカスタム検証
必要に応じて、カスタムJavaScript関数を呼び出すために、 ''を使用することができます。注:javascript関数のシグネチャは 'function yourFunction(formObject、formField、fieldValue) 'でなければなりません。 –
Leigh
残念なことに、さまざまな理由からcfformのカスタムjs検証にcfselectの代わりにselectを使用する必要があります。 – cam
隠しフィールドを追加して、それに検証関数をフックできます。つまり、。 IIRCは、フォームが提出されたときにも呼び出されます。 –
Leigh