validate

06章 Struts2数据校验

喜你入骨 提交于 2020-02-20 07:50:42
一、三种实现方式 ① 用validate()方法实现数据校验 继承ActionSupport类,该类实现了Validateable接口,该接口中定义了一个validate()方法,在自定义的Action类中重写validate()方法,如果校验表单输入域出现错误,则将错误添加到ActionSupport类的fieldErrors域中,然后通过OGNL表达式负责输出。 实现思路: 准备注册页面:regist.jsp 创建Action类ValidateAction,该类继承自ActionSupport,并重写execute(),因为要实现数据校验,所以需重写validate(),然后进行一系列的判定 public class ValidateAction extends ActionSupport{ private UserInfo info; //确认密码 private String okpwd; @Override public String execute() throws Exception{ return SUCCESS; } //实现数据校验 @Override public void validate() { if(info.getUsername().length()==0){ addFieldError("username", "用户名不能为空"); } if

极验验证码(geetest)和django之间的使用

こ雲淡風輕ζ 提交于 2020-02-19 15:07:08
极验验证码如何使用 sdk的github地址 git clone https://github.com/GeeTeam/gt3-python-sdk.git 官网申请账号 点此进入 ,并获取id和key 项目配置文件 # GeeTest GEETEST_PC_ID = 'b46d1900d0a894591916ea94ea91bd2c' GEETEST_PC_KEY = '36fc3fe98530eea08dfc6ce76e3d24c4' geetest 核心文件 #!coding:utf8 import sys import random import json import requests import time from hashlib import md5 if sys.version_info >= (3,): xrange = range VERSION = "3.0.0" class GeetestLib(object): FN_CHALLENGE = "geetest_challenge" FN_VALIDATE = "geetest_validate" FN_SECCODE = "geetest_seccode" GT_STATUS_SESSION_KEY = "gt_server_status" API_URL = "http://api.geetest

TP5 日志系统

喜欢而已 提交于 2020-02-18 00:42:50
一、改变日志记录位置 //public的index.php中改变日志保存路径 <?php // [ 应用入口文件 ] // 定义应用目录 define('APP_PATH', __DIR__ . '/../application/'); //自定义日志位置 覆盖原来日志位置 define('LOG_PATH', __DIR__ . '/../log/'); // 加载框架引导文件 require __DIR__ . '/../thinkphp/start.php'; 效果 二、在全局异常处理中加入日志系统 //controller 控制器 banner 抛出异常 <?php namespace app\api\controller\v1; use app\api\validate\IDMustBePostiveInt; use app\api\model\Banner as BannerModel; use app\lib\exception\BannerMissException; use think\Exception; class Banner { public function getBanner($id){ (new IDMustBePostiveInt()) -> goCheck(); $banner = BannerModel::getBannerById($id);

async-validator 的中文文档翻译

混江龙づ霸主 提交于 2020-02-16 17:43:45
阿里出品的 antd 和 ElementUI 组件库中表单校验默认使用的 async-validator ,它在 gitbub 上也获得了 3.8k 的 star,可见这个库十分强大,奈何只有英文文档看的蛋疼,因此花点时间翻译一下以便日后查看和为新手同事提供文档,原文都以折叠的方式保留着,看不懂我的描述可以展开看看原文。 结合 github 上的例子能方便理解 (大部分原因是我英文水平不够,但是明明是中国人写的为啥不顺手写个中文的 readme 呢,虽然就算翻译成了中文也还是晦涩难懂。。。) 翻译时间: 2019/5/31 正文开始。 async-validator 一个用于表单异步校验的库,参考了 https://github.com/freeformsystems/async-validate Validate form asynchronous. A variation of https://github.com/freeformsystems/async-validate API 下述内容来自于 async-validate . 的早期版本 The following is modified from earlier version of async-validate . Usage 使用方法 基本的使用方法:定义一个 descriptor,将它传入 schema,得到一个

easyUi 的form和validate组件

[亡魂溺海] 提交于 2020-02-14 23:09:06
以下代码不能运行,只是我在学习过程中记录的笔记,但代码可以用!!! 可以按照需要截取。 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html> <html> <head> <meta charset="ISO-8859-1"> <title>Insert title here</title> <script type="text/javascript"> //ajax的提交方式 $.ajax({ //提交的资源地址 url:'UserController/login', //向资源地址提交的数据 serialize()方法会自动的列出表单中的数据 data:$("#loginInputForm").serialize(), cache:false, //服务器端返回的数据类型 dataType:'json', //服务器端执行成功后的回调函数 success:function(r){ //将json形式的字符串转化为json对象 // r=eval("("+r+")"); //javascript $.parseJSON(r); //jQuery //登陆成功 if(r&&r.success){ /

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

一世执手 提交于 2020-02-12 20:03:14
关于这个问题是在 《 基于MySQL Yum存储库在Linux-7.2上安装MySQL-5.7.21数据库服务(实战篇) 》 时遇到的问题,这是 mysql 初始化时,使用临时密码,修改自定义密码时,由于自定义密码比较简单,就出现了不符合密码策略的问题。 密码策略问题异常信息: ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 如下图: 解决办法: 1、查看 mysql 初始的密码策略, 输入语句 “ SHOW VARIABLES LIKE 'validate_password%'; ” 进行查看, 如下图: 2、首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可, 输入设值语句 “ set global validate_password_policy=LOW; ” 进行设值, 如下图: 3、当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6 位的密码,设置 validate_password_length 的全局参数为 6 即可, 输入设值语句 “ set global validate_password_length=6; ” 进行设值, 如下图: 4、现在可以为

在亚马逊Red Hat 7.1 linux上安装mysql

和自甴很熟 提交于 2020-02-09 04:01:15
安装前检查之前是否安装并卸载之前的和删除关联文件 rpm -qa|grep mysql yum remove mysql mysql-server mysql-libs mysql-common //在线删除 rpm -e mysql57-community-release-el7-9.noarch // 普通删除模式 rm -rf /var/lib/mysql rm /etc/my.cnf 软件卸载完毕后如果需要可以删除mysql的数据库: rm -rf /var/lib/mysql 在线安装方式 1.一开始是通过这个命令来直接安装的: yum install mysql mysql-server mysql-devel 提示: 安装mysql和mysql-devel都成功,但是安装mysql-server失败 解决方式 : 第一种:用*MariaDB*来代替 第二种:就是从官网上下载安装 wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm //下载YUM库 yum localinstall -y mysql57-community-release-el7-7.noarch.rpm //安装YUM库 yum install -y mysql-community-server /

Jquery表单验证插件validate

☆樱花仙子☆ 提交于 2020-02-08 03:26:21
写在前面:    在做一些添加功能的时候,表单的提交前的验证是必不可少的,jquery的validate插件就还可以,对于基本的需求已经够了。这里记录下基本的用法。    还是写个简单的demo吧 <html> <head> <meta name="viewport" content="width=device-width" /> <title>Jquery表单校验插件validate</title> <%--jqury插件--%> <script src="${baseURL}/Bootstrap/bootstrap/assets/js/jquery-1.10.2.min.js"></script> <%--validate插件--%> <script src="${baseURL}/ligerui/jquery-validation/jquery.validate.min.js"></script> <%--中文提示插件--%> <script src="${baseURL}/ligerui/jquery-validation/messages_cn.js" type="text/javascript"></script> </head> <body> <div > <form id="myform"> <table> <tr> <td> ID </td> <td>

MySQL8.0密码策略修改

自闭症网瘾萝莉.ら 提交于 2020-02-06 11:24:35
升级之后密码需要设置特别复杂,导致自己都记不住,本地开发环境我一般设置成123456,便于记忆 1、查看密码策略 show variables like 'validate_password%' ; 2、修改密码策略 -- 密码验证策略低要求(0或LOW代表低级) set global validate_password . policy = 0 ; -- 密码至少要包含的小写字母个数和大写字母个数 set global validate_password . mixed_case_count = 0 ; -- 密码至少要包含的数字个数。 set global validate_password . number_count = 0 ; -- 密码至少要包含的特殊字符数 set global validate_password . special_char_count = 0 ; -- 密码长度 set global validate_password . length = 6 ; 3、修改密码 ALTER user 'root' @'localhost ' IDENTIFIED BY ' 123456 ' 参考 MySQL8.0.12版本密码修改策略问题 来源: CSDN 作者: 彭世瑜 链接: https://blog.csdn.net/mouday/article

[LeetCode] 98. Validate Binary Search Tree

强颜欢笑 提交于 2020-01-31 03:21:17
验证二叉搜索树。题目即是题意。二叉搜索树的特性是对于每个node而言,他的左子树上任意节点都比他自身小,右子树上任意节点都比他自身大。这个题也是有两种做法,迭代和递归。 时间空间复杂度都是O(n)。 例子, Example 1: 2 / \ 1 3 Input: [2,1,3] Output: true Example 2: 5 / \ 1 4 / \ 3 6 Input: [5,1,4,null,null,3,6] Output: false Explanation: The root node's value is 5 but its right child's value is 4. 迭代 迭代的做法会利用到inorder的做法,也是用到一个栈。按照inorder的顺序遍历所有的node,记录一个 pre node 和一个 currrent node 。因为是inorder的关系,如果这个BST是有效的, inorder的遍历结果会是有序的 。 1 /** 2 * @param {TreeNode} root 3 * @return {boolean} 4 */ 5 var isValidBST = function (root) { 6 if (root === null) return true; 7 let stack = []; 8 let cur = root; 9