2012-05-18 28 views
1

我正在編寫一個java web應用程序,其中一些字段在jsp中需要特定字符(刪除變音符號)。這個任務並不難用javascript和驗證方法在servlet方面,但如果有人(同事也許)忘記了驗證,仍然可以添加字符。添加一個檢查來驗證該字段沒有收到某種字符

所以我不知道是否有可能在沒有人會像數據庫那樣經常修改的區域添加驗證。

+0

你能寫的東西,如「我要的東西添加到數據庫更新時,自動將刪除X字符/插入你的問題一行'或'我想添加一個檢查來驗證字段不會收到某種類型的字符''? :) – helios

+0

好的。我將使用「我想添加一個檢查來驗證該字段沒有收到某種類型的字符」 – ViROscar

+0

似乎那麼,一個constrait檢查就足夠了。你添加一個檢查,說「一條記錄必須遵守這條規則」,並且規則可以是「這個字符在字符串和其他字符中找不到......並且......」。你可以使用'instr'。或者定義一個特殊的函數來使用(但我不知道那麼多)。 http://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_instr – helios

回答

2

根據您的要求,您可能能夠創建一個觸發器來監視這個

+0

感謝您的答案。 我以前沒有使用觸發器,但是在谷歌搜索後我看到了一些例子。也許我需要開始學習存儲過程。 我會留下一段時間的問題,看看有人有另一種觀點。 – ViROscar

+0

對於關於解決方案的最新答案,我很抱歉。 解決方法是使用比較運算符和'locate(substr,str)'來查找任何字符。例如: 'BEGIN DECLARE msg VARCHAR(100); set msg = concat('Error'); IF LOCATE('ñ',NEW.Name)> 0 THEN signal sqlstate'45000'set message_text = msg; END IF; END ' 與此唯一的問題是字符編碼。如果你不使用UTF-8西班牙文,像ñ這樣的字符被檢測爲n。 – ViROscar

相關問題