Как упоминалось в комментариях, вы можете использовать атрибут 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
}