2017-03-03 1 views
3

은 내가 시도 :텍스트 상자에 숫자를 입력하는 사용자를 허용하지하는 방법 내가 몇 가지 코드를 시도했지만 여기</p> <p>작동하지 않습니다</p> <p>입력 번호를 허용하지 않는 텍스트 상자를 만들기 위해 노력하고

<asp:RegularExpressionValidator runat="server" ID="txtSurnameValidation" 
    ControlToValidate="txtSurname" ValidationExpression="[a-zA-Z ]*$" Display="Dynamic"> 
</asp:RegularExpressionValidator> 
+3

에서 [거짓 프로그래머가 이름에 대한 생각 (http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/) –

+0

이 @Damien_The_Unbeliever 좋은 기억 항상 가치! 내 이름은 문자가 2 자 밖에 없기 때문에 많은 웹 사이트가 나를 싫어합니다 :) – EdSF

답변

3

의 작동하지만 당신은 그렇게 누군가가 번호를 입력하면이 메시지가 표시됩니다 너무 ErrorMessage="* Alphabets Only"를 추가 실패 할 경우 유효성 검사에서 모든 메시지를 설정하지 않았기 때문에 그 어떤 메시지가 표시되지

<asp:TextBox runat="server" ID="txtSurname"></asp:TextBox> 
     <asp:RegularExpressionValidator runat="server" ID="txtSurnameValidation" 
    ControlToValidate="txtSurname" ValidationExpression="[a-zA-Z ]*$" ErrorMessage="* Alphabets Only" Display="Dynamic"> 
</asp:RegularExpressionValidator> 
+0

내 친구에게 감사합니다. –

0

은 아마 여기에 대답 Prevent numbers from being pasted in textbox in .net windows forms

기본적으로, 당신은 숫자에 입력하거나 붙여 넣을 수 허용하지 TextChanged 이벤트에 활용할 수 있습니다. KeyDown 및 KeyUp 이벤트를 처리 할 수도 있지만 숫자를 붙여 넣을 수는 없습니다. 따라서 TextChanged가 선호되고 권장됩니다.

string _latestValidText = string.Empty; 
private void TextBox_TextChanged(object sender, EventArgs e) 
{ 
    TextBox target = sender as TextBox; 
    if (ContainsNumber(target.Text)) 
    { 
     // display alert and reset text 
     MessageBox.Show("The text may not contain any numbers."); 
     target.Text = _latestValidText; 
    } 
    else 
    { 
     _latestValidText = target.Text; 
    } 
} 
private static bool ContainsNumber(string input) 
{ 
    return Regex.IsMatch(input, @"\d+"); 
} 
+2

질문 [태그 : asp.net] - 모든 키를 누를 때마다 서버로 왕복하고 싶지는 않습니다. 'MessageBox.Show'는 유용하지 않습니다 - 브라우저가 작동중인 컴퓨터가 아닌 서버에 메시지를 보여주고 있습니다. –