کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش Regular Expression Validation-Java Spring

اعتبار سنج عبارت منظم

اعتبار سنجی عبارت منظم (regular expression : regex) در Spring MVC

اعتبار سنج MVC Spring به ما این امکان را می دهد تا ورودی کاربر را در یک روند خاص (مانند عبارت منظم)، اعتبار سنجی کنیم. از نماد @Pattern برای کسب اعتبار سنجی عبارت منظم استفاده می شود. در اینجا می توان عبارت منظم مورد نیاز خصیصه regex را فراهم کرد و آن را با نمادگذاری انتقال داد.


مثال اعتبار سنجی عبارت منظم در MVC Spring

1- وابستگی ها را به فایلpom.xml اضافه کنید.

pom.xml

< !-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->  
< dependency>  
     < groupId>org.springframework< /groupId>  
     < artifactId>spring-webmvc< /artifactId>  
     < version>5.1.1.RELEASE< /version>  
< /dependency>  
< !-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-jasper -->  
< dependency>  
     < groupId>org.apache.tomcat< /groupId>  
     < artifactId>tomcat-jasper< /artifactId>  
     < version>9.0.12< /version>  
< /dependency>  
     < !-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->  
< dependency>    
     < groupId>javax.servlet< /groupId>    
     < artifactId>servlet-api< /artifactId>    
     < version>3.0-alpha-1< /version>    
< /dependency>  
< !-- https://mvnrepository.com/artifact/javax.servlet/jstl -->  
< dependency>  
     < groupId>javax.servlet< /groupId>  
     < artifactId>jstl< /artifactId>  
     < version>1.2< /version>  
< /dependency>  
  < !-- https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator -->  
< dependency>  
     < groupId>org.hibernate.validator< /groupId>  
     < artifactId>hibernate-validator< /artifactId>  
     < version>6.0.13.Final< /version>  
< /dependency>  

2- کلاس bean را ایجاد کنید.

Employee.java

package com.javatpoint;  
  
import javax.validation.constraints.Pattern;  
public class Employee {  
  
    private String name;  
    @Pattern(regexp="^[a-zA-Z0-9]{3}",message="length must be 3")  
    private String pass;  
      
    public String getName() {  
        return name;  
    }  
    public void setName(String name) {  
        this.name = name;  
    }  
    public String getPass() {  
        return pass;  
    }  
    public void setPass(String pass) {  
        this.pass = pass;  
    }  
}  

3- کلاس کنترلر را ایجاد کنید.

package com.javatpoint;  
  
import javax.validation.Valid;  
import org.springframework.stereotype.Controller;  
import org.springframework.ui.Model;  
import org.springframework.validation.BindingResult;  
import org.springframework.web.bind.annotation.ModelAttribute;  
import org.springframework.web.bind.annotation.RequestMapping;  
  
@Controller  
public class EmployeeController {  
  
    @RequestMapping("/hello")  
    public String display(Model m)  
    {  
        m.addAttribute("emp", new Employee());  
        return "viewpage";  
    }  
    @RequestMapping("/helloagain")  
    public String submitForm(@Valid @ModelAttribute("emp") Employee e, BindingResult br)  
    {  
        if(br.hasErrors())  
        {  
            return "viewpage";  
        }  
        else  
        {  
        return "final";  
        }  
    }  
}        

4- ورودی کنترلر را در فایل web.xml ارائه دهید.

web.xml

< ?xml version="1.0" encoding="UTF-8" ?>
  
< web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">  
   < display-name>SpringMVC< /display-name>  
    < servlet>    
     < servlet-name>spring< /servlet-name>    
     < servlet-class>org.springframework.web.servlet.DispatcherServlet< /servlet-class>    
     < load-on-startup>1< /load-on-startup>      
< /servlet>    
< servlet-mapping>    
     < servlet-name>spring< /servlet-name>    
     < url-pattern>/< /url-pattern>    
< /servlet-mapping>    
< /web-app>  

5- Bean را در فایلxml تعریف کنید.

spring-servlet.xml

< ?xml version="1.0" encoding="UTF-8" ?>
  
< beans xmlns="http://www.springframework.org/schema/beans"
          3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          4. xmlns:context="http://www.springframework.org/schema/context"
          5. xmlns:mvc="http://www.springframework.org/schema/mvc"
          6. xsi:schemaLocation="
         http://www.springframework.org/schema/beans
         http://www.springframework.org/schema/beans/spring-beans.xsd
         http://www.springframework.org/schema/context
         http://www.springframework.org/schema/context/spring-context.xsd
         http://www.springframework.org/schema/mvc
         http://www.springframework.org/schema/mvc/spring-mvc.xsd">  
     < !-- Provide support for component scanning -->  
     < context:component-scan base-package="com.javatpoint" />
       
     < !--Provide support for conversion, formatting and validation -->  
     < mvc:annotation-driven />
       
     < !-- Define Spring MVC view resolver -->  
      < bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
         < property name="prefix" value="/WEB-INF/jsp/">< /property>  
         < property name="suffix" value=".jsp">< /property>       
      < /bean>  
< /beans>   

6- صفحه درخواست شده را ایجاد کنید.

index.jsp

index.jsp  
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>  
< html>  
< body>  
< a href="hello">Click here...< /a>  
< /body>  
< /html>

7- سایراجزای منظر را ایجاد کنید.

viewpage.jsp

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>  
< html>  
< head>  
< style>
.error {
           color: red
       }
< /style>  
< /head>  
< body>  
< form:form action="helloagain" modelAttribute="emp">  
Username: < form:input path="name" /> < br>< br>

Password(*): < form:password path="pass" />

< form:errors path="pass" cssClass="error" />< br>< br>
  
< input type="submit" value="submit">
  
< /form:form>  
< /body>  
< /html>  

final.jsp

< html>  
< body>  
Username: ${emp.name} < br>< br>

Password: ${emp.pass}  
< /body>  
< /html> 

خروجی :

خروجی
Enter the Panel
Error for Wrong Password
Correcting Password
Show Pannel
1399/01/19 1732 502
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...