Rumah  >  Artikel  >  Java  >  Bagaimana untuk mengendalikan fungsi pengesahan borang dalam borang Java?

Bagaimana untuk mengendalikan fungsi pengesahan borang dalam borang Java?

WBOY
WBOYasal
2023-08-11 20:45:05985semak imbas

Bagaimana untuk mengendalikan fungsi pengesahan borang dalam borang Java?

Bagaimana untuk mengendalikan fungsi pengesahan borang dalam borang Java?

Pengesahan borang ialah ciri yang sangat penting semasa membangunkan aplikasi web. Ia memastikan ketepatan dan integriti data serta meningkatkan keselamatan sistem. Di Java, kita boleh menggunakan beberapa alatan dan teknik biasa untuk melaksanakan fungsi pengesahan borang. Artikel ini akan memperkenalkan cara mengendalikan fungsi pengesahan borang dalam borang Java dan menyediakan beberapa contoh kod.

  1. Gunakan anotasi pengesahan terbina dalam Java

Terdapat beberapa anotasi pengesahan terbina dalam dalam Java yang boleh memudahkan pengesahan borang. Contohnya, anotasi dalam pakej javax.validation.constraints boleh digunakan untuk mengesahkan kesahihan data. Berikut ialah beberapa anotasi yang biasa digunakan:

  • @NotNull: Medan pengesahan tidak boleh kosong
  • @NotEmpty: Medan pengesahan tidak boleh kosong dan panjangnya mestilah lebih besar daripada 0
  • @NotBlank: Medan pengesahan tidak boleh kosong, dan ia tidak boleh hanya mengandungi ruang
  • @Saiz: Sahkan julat panjang medan
  • @Corak: Sahkan sama ada format medan mematuhi ungkapan biasa yang ditentukan

Anda boleh menggunakan anotasi ini pada medan kelas entiti untuk mengesahkan data borang. Contohnya:

public class User {
    @NotNull
    private String username;

    @NotEmpty
    private String password;

    // getters and setters
}

Kemudian dalam kaedah pemprosesan borang, gunakan alat pengesahan untuk mengesahkan data borang:

public String processForm(@Valid User user, BindingResult bindingResult) {
    if(bindingResult.hasErrors()) {
        // 处理校验失败的情况,如返回错误信息给前端
    } else {
        // 处理校验通过的情况
    }
}
  1. Peraturan pengesahan tersuai

Selain menggunakan anotasi pengesahan terbina dalam, kami juga boleh menyesuaikan pengesahan peraturan ujian. Anda boleh menyesuaikan anotasi pengesahan dengan melaksanakan antara muka javax.validation.ConstraintValidator. Berikut ialah contoh anotasi pengesahan tersuai:

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = PasswordValidator.class)
public @interface Password {
    String message() default "Invalid password";
    Class<?>[] groups() default {};
    Class<? extends Payload>[] payload() default {};
}

Kemudian laksanakan kelas PasswordValidator untuk menentukan logik pengesahan tertentu:

public class PasswordValidator implements ConstraintValidator<Password, String> {

    @Override
    public void initialize(Password constraintAnnotation) {
        // 初始化校验器
    }

    @Override
    public boolean isValid(String value, ConstraintValidatorContext context) {
        // 自定义校验逻辑
        return value != null && value.length() >= 8;
    }
}

Apabila menggunakan anotasi pengesahan tersuai, anda hanya perlu menambah anotasi pada medan kelas entiti :

public class User {
    @NotNull
    private String username;

    @Password
    private String password;

    // getters and setters
}
  1. Pengesahan borang hadapan

Atas dasar pengesahan borang Java, kami juga boleh meningkatkan pengalaman pengguna melalui pengesahan borang bahagian hadapan. Anda boleh menggunakan beberapa rangka kerja bahagian hadapan seperti Bootstrap, jQuery Validate, dll. untuk melaksanakan pengesahan borang bahagian hadapan. Berikut ialah contoh pengesahan borang bahagian hadapan yang dilaksanakan menggunakan Pengesahan jQuery:

<form id="myForm" action="submit" method="post">
    <input type="text" name="username" required>
    <input type="password" name="password" minlength="8">
    <button type="submit">Submit</button>
</form>

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/jquery.validate.min.js"></script>
<script>
    $(document).ready(function() {
        $("#myForm").validate();
    });
</script>

Melalui pengesahan borang bahagian hadapan, gesaan ralat boleh diberikan serta-merta apabila pengguna memasukkan data, mengurangkan permintaan pengesahan seterusnya yang tidak diperlukan.

Ringkasnya, pemprosesan fungsi pengesahan borang dalam borang Java boleh dicapai dengan menggunakan anotasi pengesahan terbina dalam Java, peraturan pengesahan tersuai dan pengesahan borang bahagian hadapan. Penggunaan fleksibel teknologi ini boleh meningkatkan ketepatan data dan keselamatan aplikasi web.

(Nota: Contoh kod dalam artikel ini adalah untuk ilustrasi sahaja, dan mungkin perlu dilaraskan dan diubah suai mengikut keperluan khusus dalam situasi sebenar.)

Atas ialah kandungan terperinci Bagaimana untuk mengendalikan fungsi pengesahan borang dalam borang Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn