#c# #asp.net
#c# #asp.net
Вопрос:
Я хочу ограничить ввод в текстовое поле sinqles qoutes и двойные кавычки в Asp.net . Как я могу этого добиться? Как я могу проверить текстовое поле?
Комментарии:
1. Какова ваша причина для этого? Связано ли это с проблемами при вставке в SQL?
Ответ №1:
Используете ли вы AjaxControlToolkit? если да, то используйте это.
<asp:TextBox runat="server" ID="TextBox1" Width="100px" />
<cc1:FilteredTextBoxExtender FilterMode="InvalidChars" ID="ftbe_TextBox1" runat="server"
TargetControlID="TextBox1" InvalidChars="amp;quot;'" />
Где: cc1 — это имя тега для AjaxControlToolkit
если нет, сделайте это вручную
<asp:TextBox runat="server" ID="TextBox1" Width="100px" onkeypress="return restrictQuotes(event);" />
<script type="text/javascript">
function restrictQuotes(evt) {
var keyCode = evt.which ? evt.which : evt.keyCode;
return (keyCode != '"'.charCodeAt() amp;amp; keyCode != "'".charCodeAt());
}
</script>
Ответ №2:
Я бы использовал javascript
для проверки в реальном времени с помощью события textboxes onchange
. Затем вы можете использовать string.contains()
метод на server-side
для server-side
проверки.
Ответ №3:
вы можете добавить RegularExpressionValidator
и задать ValidationExpression
=’^[^»]*$’ чтобы ограничить ввод кавычек
Ответ №4:
Вы могли бы сделать это на javascript
<script type="text/javascript">
function fixit() {
var numberOfElements = document.theForm.elements.length;
for (x=0; x<numberOfElements; x ) {
// replace all the single, double quotes:
var curElement = window.document.theForm.elements[x];
curElement.value = curElement.value.replace(/'/g, "amp;#39;");
curElement.value = curElement.value.replace(/"/g, "amp;#34;");
}
return true;
}
</script>
Затем в форме вы бы написали это
<form name='theForm' onSubmit='return fixit()'...
Этот код будет циклически обрабатывать все элементы. Если вы хотите проверить один элемент, вы могли бы запретить пользователю вводить эти символы
в текстовом поле вы могли бы сделать это:
<input type="text" name="foo" onkeypress="return fix(event);">
В javascript:
<script type="text/javascript">
function fix(e)
{
if(e.charCode == 34|| e.charCode == 39)
{
return false;
}
return true;
}
</script>
Последняя часть запрещает пользователям заключать кавычки и двойные кавычки.