Как я могу ограничить '♥ ♣' как символы от сохранения в базе данных. Если эти символы появляются в текстовом поле имени, должно появиться сообщение об ошибке. Я использую рубин на рельсах.
Спасибо, Anubhaw
См. Пример использования только определенного набора символов (белый список), что для IMO лучше и безопаснее:
var allowed = /[a-ZA-Z0-9]/; // etc. window.onload = function () { var input = document.getElementById("test"); input.onkeypress = function () { // Cross-browser var evt = arguments[0] || event; var char = String.fromCharCode(evt.which || evt.keyCode); // Is the key allowed? if (!allowed.test(char)) { // Cancel the original event evt.cancelBubble = true; return false; } } };
С: запретить ввод не текстовых символов в текстовом поле
В качестве альтернативы вы можете использовать регулярные выражения для удаления не ascii символов.
см. Здесь: Как удалить все символы, не входящие в ASCII, из строки в Ruby
Вы хотите некоторый JavaScript, чтобы сообщить пользователям, когда они помещают такие символы в форму. Вам нужна подпрограмма проверки в вашем коде RoR, чтобы удостовериться, что в базу данных фактически помещены только приемлемые символы.