CF8 フォームでは、次のようなタグを使用しています。
<cfinput
type = "Text"
name = "Num"
value = "0"
validate = "range,integer"
range = "0,1000"
validateAt="onBlur,onSubmit"
required = "yes"
message = "Invalid Value"
>
フィールドがフォーカスを失うと (onBlur)、validate パラメーターの最初の条件についてのみ入力が検証されます (順序を入れ替えると変化します)。
これは、自動生成される html / JS コードです。
<input
name="Num"
id="Num"
type="text"
value="0"
onblur="if( !_CF_hasValue(this, 'TEXT', false)
&&
!_CF_checkrange(this.value,0.0,1000.0, true)
||
!_CF_checkinteger(this.value, true) )
{ _CF_onErrorAlert(new Array('Invalid Value')); }"
/>
OnSubmit は別の自動生成された JS で処理され、適切に動作します。
私は何か間違ったことをしていますか?CF8 は、これら 2 つの条件を一緒に検証することをサポートしていませんか?