programing

asp.net 텍스트 상자에 정수 값이 있는지 확인하기 위한 유효성 검사

linuxpc 2023. 7. 10. 22:07
반응형

asp.net 텍스트 상자에 정수 값이 있는지 확인하기 위한 유효성 검사

텍스트 상자에 필요한 유효성 검사 설정이 있지만 정수인지 확인해야 합니다.

어떻게 해야 하나요?

필드에 정수(즉, 범위와 관계 없음)가 포함되어 있는 경우 속성이 다음과 같이 설정된 a를 추가합니다.DataTypeCheck:

<asp:CompareValidator runat="server" Operator="DataTypeCheck" Type="Integer" 
 ControlToValidate="ValueTextBox" ErrorMessage="Value must be a whole number" />

유효한 특정 범위의 값이 있는 경우 다음과 같이 를 사용할 수 있습니다.

<asp:RangeValidator runat="server" Type="Integer" 
MinimumValue="0" MaximumValue="400" ControlToValidate="ValueTextBox" 
ErrorMessage="Value must be a whole number between 0 and 400" />

텍스트 상자에 텍스트가 있는 경우에만 유효하므로 텍스트 상자에도 텍스트를 보관해야 합니다.

@Mahin이 말했듯이, 서버 측에서 속성을 확인해야 합니다. 그렇지 않으면 검증자는 JavaScript가 활성화된 사용자에게만 작동합니다.

이것은 나에게 잘 작동합니다.

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
     ControlToValidate="YourTextBoxID"
     ErrorMessage="Only numeric allowed." ForeColor="Red"
     ValidationExpression="^[0-9]*$" ValidationGroup="NumericValidate">*
</asp:RegularExpressionValidator>

당신이 추가해야 할 것 같습니다.ValidationGroup="NumericValidate"제출 단추에도 표시됩니다.

Int32를 사용합니다.파스를 써보세요.

 int integer;
 Int32.TryParse(Textbox.Text, out integer)

올바른 정수를 입력했는지 확인할 수 있도록 부울이 반환됩니다.

다음 작업에 자바 스크립트를 사용할 수 있습니다.

<asp:TextBox ID="textbox1" runat="server" Width="150px" MaxLength="8" onkeypress="if(event.keyCode<48 || event.keyCode>57)event.returnValue=false;"></asp:TextBox>

정규식 검증자를 텍스트 상자에 부착하고 다음과 같이 표현합니다.

^\d+$

물론 서버 측 검증도 수행해야 합니다.

이 문제를 처리할 수 있는 몇 가지 다른 방법이 있습니다.RequiredFieldValidator와 RangeValidator(해당 사례에 적합한 경우)를 추가하거나 CustomFieldValidator를 추가할 수 있습니다.

CustomField Validator 링크: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.customvalidator%28VS.71%29.aspx

ASP.NET 검증에 대한 MSDN 문서 링크: http://msdn.microsoft.com/en-us/library/aa479045.aspx

http://msdn.microsoft.com/en-us/library/ad548tzy%28VS.71%29.aspx

서버 유효성 검사기 컨트롤을 사용할 때는 누구나 브라우저에서 Javascript를 비활성화할 수 있다는 사실에 주의해야 합니다.그래서 당신은 페이지를 사용해야 합니다.유효한 속성이 항상 서버 측에 있습니다.

<script language="javascript" type="text/javascript">
        function fixedlength(textboxID, keyEvent, maxlength) {
            //validation for digits upto 'maxlength' defined by caller function
            if (textboxID.value.length > maxlength) {
                textboxID.value = textboxID.value.substr(0, maxlength);
            }
            else if (textboxID.value.length < maxlength || textboxID.value.length == maxlength) {
                textboxID.value = textboxID.value.replace(/[^\d]+/g, '');
                return true;
            }
            else
                return false;
        }
 </script>

<asp:TextBox ID="txtNextVisit" runat="server" MaxLength="2" onblur="return fixedlength(this, event, 2);" onkeypress="return fixedlength(this, event, 2);" onkeyup="return fixedlength(this, event, 2);"></asp:TextBox> 

Visual Studio는 이제 범위 확인 및 유형 확인을 통합 지원합니다.

사용해보세요 :- RANGE CHECKING 특정 범위의 숫자를 확인/체크하기 전에 마크업 뷰에서 디자인 뷰로 전환합니다.그러면 :-

보기>도구상자>검증

이제 RangeValidator를 디자인 페이지로 끌어다 놓으면 오류 메시지를 표시할 수 있습니다(물론 사용자가 범위 값을 벗어나는 경우). 이제 RangeValidator 컨트롤을 클릭합니다. 마우스 오른쪽 버튼을 클릭하고 속성을 선택합니다.속성 창(일반적으로 솔루션 표시줄 아래에 열려 있음)에서 ERROR MESSAGE를 선택합니다. Write :-

숫자는 범위 내에 있어야 합니다.

하고 텍스트 합니다.드롭다운에서 ID(또는 아무렇게나 작성).속성 표시줄에서 유형을 찾고 정수를 선택합니다.
바로 위에 최대값과 최소값이 있습니다.번호를 합니다.

checking)의 경우
특정 범위의 숫자를 확인/확인하기 전에 마크업 뷰에서 디자인 뷰로 전환합니다.그러면 :-

보기>도구상자>검증

이제 CompareValidator를 디자인 페이지로 끌어다 놓으면 오류 메시지가 표시됩니다(사용자가 텍스트를 입력하는 경우).이제 CompareValidator 컨트롤을 클릭합니다. 마우스 오른쪽 단추를 클릭하고 속성을 선택합니다.속성 창(일반적으로 솔루션 표시줄 아래에 있음)에서 ERROR MESSAGE(오류 메시지)를 선택합니다. 쓰기: -

값은 숫자여야 합니다.

이제 Control to Validate 옵션을 찾아 컨트롤을 작성합니다.해당 ID 이름(또는 드롭다운에서 선택할 수도 있음).Operator 옵션을 찾아 DataTypeCheck(또는 드롭다운에서 선택할 수 있음)를 입력합니다.다시 Type 옵션을 찾아 Integer라고 씁니다.

바로 그거야.

또는 aspx 페이지에 다음 코드를 작성할 수 있습니다. - <%--범위 없이 유효성 검사를 수행합니다.

간단히 이 코드를 추가합니다.

<asp:FilteredTextBoxExtender ID="txtAltitudeMin_FilteredTextBoxExtender" runat="server" Enabled="True" TargetControlID="txtAltitudeMin" FilterType="Numbers"></asp:FilteredTextBoxExtender>

C# asp.net 웹 양식에서

txtBoxNumber.Attributes.Add("onkeypress", "javascript:if(event.which!=8 && event.which!=0 && (event.which<43 || event.which>57)){return false;};");

버튼을 두 번 클릭하고 다음 코드를 사용합니다.

protected void button_click(object sender,EventArgs e)
{
 int parsedValue;
 if(int.TryParse(!txt.Text,out parsedValue))
 {
 Label.Text = "Please specify a number only !!"; //Will put a text in a label so make     
    //sure                
  //you have a label
 }
 else
  {
    // do what you want to  
  }

언급URL : https://stackoverflow.com/questions/1427629/asp-net-validation-to-make-sure-textbox-has-integer-values

반응형