Yii Framework_php 예제의 jquery 양식 유효성 검사 플러그인 사용 예
이 문서의 예에서는 Yii 프레임워크에서 jquery 양식 유효성 검사 플러그인을 사용하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.
작동 효과도는 다음과 같습니다.
레이어 보기:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title></title> <style> .error{ color: red; } </style> <script src="js/jquery.js"></script> <script src="js/jquery.validate.js"></script> <script src="js/messages_zh.js"></script> <script> // 手机号码验证 jQuery.validator.addMethod("phone", function(value, element) { var length = value.length; var mobile = /^1[3,5,8][0-9]{9}$/; return this.optional(element) || (length == 11 && mobile.test(value)); }, "请正确填写您的手机号码"); // 汉字 jQuery.validator.addMethod("uName", function(value, element) { var name= /^[\u4e00-\u9fa5]{2,6}$/; return this.optional(element) || (name.test(value)); }, "请输入2-4个汉字"); //验证邮箱 jQuery.validator.addMethod("email1", function(value, element) { var email= /^\w+@\w+[.]com|cn|net$/; return this.optional(element) || (email.test(value)); }, "请正确填写您的邮箱"); //验证名称是否重复(唯一性) jQuery.validator.addMethod("onlyUsername", function(value, element) { return eval($.ajax({ url: "index.php?r=login/only", type: 'get', async: false, data: { u_name:value } }).responseText); }, "用户名已存在"); //验证邮箱是否重复 jQuery.validator.addMethod("only2", function(value, element) { return eval($.ajax({ url: "index.php?r=login/only2", type: 'get', async: false, data: { email:value } }).responseText); }, "邮箱已存在"); $.validator.setDefaults({ submitHandler: function() { form.submit(); } }); //表单验证 $().ready(function() { // 在键盘按下并释放及提交后验证提交表单 $("#signupForm").validate({ rules: { u_name: "required", u_name: { required: true, uName: true, onlyUsername: true }, pwd: { required: true, minlength: 5 }, fruit:{ required: true, minlength: 2 }, phone: { required: true }, email: { required: true, email: true, email1:true, only2:true }, sex: { required:true, minlength:1 }, topic: { required: "#newsletter:checked", minlength: 2 }, agree: "required" }, messages: { u_name: "请输入您的名字", u_name: { required: "请输入用户名", uName: "用户名必需由2-6个汉字组成", onlyUsername:"用户必须唯一" }, pwd: { required: "请输入密码", minlength: "密码长度不能小于 5 个字母" }, phone: { required: "请输入手机号" }, email: { required:"请输入一个正确的邮箱", only2:"邮箱必须唯一" }, agree: "请接受我们的声明", topic: "请选择两个主题", sex: "请至少选一个", fruit:"请至少选两个水果" } }); }); </script> </head> <body> <center> <form class="cmxform" id="signupForm" method="post" action="index.php?r=login/register"> <fieldset> <legend>注册页面</legend> <p> <label for="u_name">名字</label> <input id="u_name" name="u_name" type="text"> </p> <p> <label for="pwd">密码</label> <input id="pwd" name="pwd" type="pwd"> </p> <p> <label for="email">Email</label> <input id="email" name="email" type="email"> </p> <p> <label for="phone">手机号</label> <input id="phone" name="phone" type="phone"> </p> <p> <input type="radio" id="sex" value="男" name="sex" />男 <input type="radio" id="sex" value="女" name="sex"/>女 </p> <p> <select id="fruit" name="fruit[]" multiple="multiple"> <option value="b">Banana</option> <option value="a">Apple</option> <option value="p">Peach</option> <option value="t">Turtle</option> </select> </p> <p> <label for="agree">请同意我们的声明</label> <input type="checkbox" class="checkbox" id="agree" name="agree"> </p> <p> <label for="newsletter">我乐意接收新信息</label> <input type="checkbox" class="checkbox" id="newsletter" name="newsletter"> </p> <fieldset id="newsletter_topics"> <legend>注意:如果没有勾选“我乐意接收新信息”以下选项会隐藏,但我们这里作为演示让它可见</legend> <label for="topic_marketflash"> <input type="checkbox" id="topic_marketflash" value="学习" name="topic[]">学习 </label> <label for="topic_fuzz"> <input type="checkbox" id="topic_fuzz" value="唱歌" name="topic[]">唱歌 </label> <label for="topic_digester"> <input type="checkbox" id="topic_digester" value="跳舞" name="topic[]">跳舞 </label> <label for="topic" class="error">Please select at least two topics you'd like to do.</label> </fieldset> <p> <input class="submit" type="submit" value="注册"> </p> </form> </center> </body> </html>
컨트롤러(고유성 확인):
//验证姓名唯一性 public function actionOnly(){ $u_name=Yii::$app->request->get('u_name'); $login=Yii::$app->db; //查询数据 $sql="select * from login where u_name='$u_name'"; $res=$login->createCommand($sql)->execute(); if($res) { echo false; } else { echo true; } }
Yii와 관련된 더 많은 콘텐츠에 관심이 있는 독자는 이 사이트의 특별 주제인 "Yii 프레임워크 소개 및 일반 기술 요약", "우수한 PHP 개발 프레임워크 요약", "시작하기 위한 기본 튜토리얼"을 확인할 수 있습니다. with Smarty Templates", "php 객체지향 프로그래밍" 디자인 입문 튜토리얼", "php 문자열(문자열) 사용법 요약", "php+mysql 데이터베이스 조작 입문 튜토리얼" 및 "php 공통 데이터베이스 조작 기술 요약"
이 기사가 Yii 프레임워크를 기반으로 하는 모든 사람의 PHP 프로그램 설계에 도움이 되기를 바랍니다.

PHP와 Python은 각각 고유 한 장점이 있으며 선택은 프로젝트 요구 사항을 기반으로해야합니다. 1.PHP는 간단한 구문과 높은 실행 효율로 웹 개발에 적합합니다. 2. Python은 간결한 구문 및 풍부한 라이브러리를 갖춘 데이터 과학 및 기계 학습에 적합합니다.

PHP는 죽지 않고 끊임없이 적응하고 진화합니다. 1) PHP는 1994 년부터 새로운 기술 트렌드에 적응하기 위해 여러 버전 반복을 겪었습니다. 2) 현재 전자 상거래, 컨텐츠 관리 시스템 및 기타 분야에서 널리 사용됩니다. 3) PHP8은 성능과 현대화를 개선하기 위해 JIT 컴파일러 및 기타 기능을 소개합니다. 4) Opcache를 사용하고 PSR-12 표준을 따라 성능 및 코드 품질을 최적화하십시오.

PHP의 미래는 새로운 기술 트렌드에 적응하고 혁신적인 기능을 도입함으로써 달성 될 것입니다. 1) 클라우드 컴퓨팅, 컨테이너화 및 마이크로 서비스 아키텍처에 적응, Docker 및 Kubernetes 지원; 2) 성능 및 데이터 처리 효율을 향상시키기 위해 JIT 컴파일러 및 열거 유형을 도입합니다. 3) 지속적으로 성능을 최적화하고 모범 사례를 홍보합니다.

PHP에서, 특성은 방법 재사용이 필요하지만 상속에 적합하지 않은 상황에 적합합니다. 1) 특성은 클래스에서 다중 상속의 복잡성을 피할 수 있도록 수많은 방법을 허용합니다. 2) 특성을 사용할 때는 대안과 키워드를 통해 해결할 수있는 방법 충돌에주의를 기울여야합니다. 3) 성능을 최적화하고 코드 유지 보수성을 향상시키기 위해 특성을 과도하게 사용해야하며 단일 책임을 유지해야합니다.

의존성 주입 컨테이너 (DIC)는 PHP 프로젝트에 사용하기위한 객체 종속성을 관리하고 제공하는 도구입니다. DIC의 주요 이점에는 다음이 포함됩니다. 1. 디커플링, 구성 요소 독립적 인 코드는 유지 관리 및 테스트가 쉽습니다. 2. 유연성, 의존성을 교체 또는 수정하기 쉽습니다. 3. 테스트 가능성, 단위 테스트를 위해 모의 객체를 주입하기에 편리합니다.

SplfixedArray는 PHP의 고정 크기 배열로, 고성능 및 메모리 사용이 필요한 시나리오에 적합합니다. 1) 동적 조정으로 인한 오버 헤드를 피하기 위해 생성 할 때 크기를 지정해야합니다. 2) C 언어 배열을 기반으로 메모리 및 빠른 액세스 속도를 직접 작동합니다. 3) 대규모 데이터 처리 및 메모리에 민감한 환경에 적합하지만 크기가 고정되어 있으므로주의해서 사용해야합니다.

PHP는 $ \ _ 파일 변수를 통해 파일 업로드를 처리합니다. 보안을 보장하는 방법에는 다음이 포함됩니다. 1. 오류 확인 확인, 2. 파일 유형 및 크기 확인, 3 파일 덮어 쓰기 방지, 4. 파일을 영구 저장소 위치로 이동하십시오.

JavaScript에서는 NullCoalescingOperator (??) 및 NullCoalescingAssignmentOperator (?? =)를 사용할 수 있습니다. 1. 2. ??= 변수를 오른쪽 피연산자의 값에 할당하지만 변수가 무효 또는 정의되지 않은 경우에만. 이 연산자는 코드 로직을 단순화하고 가독성과 성능을 향상시킵니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기
