validation 相关问题

验证用于检查数据,以确保它符合为其设置的任何所需规范。通常,验证用于检查输入数据,以及在存储之前验证数据。

如何查看databricks Sql中带有撇号(')的记录

需要查找含有特殊字符的记录。允许的字符是 连字符、逗号、正斜杠 (/)、散列和点以及撇号 (')。 在 AZURE Databricks 表中,几乎没有数据,例如...

回答 1 投票 0

如何在Python中验证字典的结构(或模式)?

我有一本包含配置信息的字典: 我的_conf = { “版本”:1, '信息':{ “conf_one”:2.5, 'conf_two': 'foo', 'conf_三':错误, '可选_conf':'酒吧' ...

回答 10 投票 0

正则表达式模式=“[\s\.-]”是否应该在“(\s|.|-)”处给我相同的结果

我正在使用正则表达式来验证输入到 html 输入中的电话号码。我想要一个由三位数字、三位数字、然后四位数字组成的模式,用空格、破折号或 do 分隔...

回答 1 投票 0

如何以多步形式验证部分?

我有一个结构如下的向导表单: { 联系方式:{ 名称:“字符串”, 电子邮件:“字符串”, ... } 宠物信息:{ 宠物名称:“字符串”, 宠物品种:“

回答 1 投票 0

在JavaFX项目中为组合框注册controlsFX验证器时模块系统出错

我正在尝试为 JavaFX 中的 ComboBox 注册 ControlsFX 验证器。然后,我收到以下与模块系统相关的错误。当我尝试将 javafx.scene 包打开到 org.controlsfx.controls

回答 1 投票 0

Pydantic 2.* 验证器将所有额外字段添加到唯一的字典字段

验证器和额外列在 pydantic 2.* 中都有不同的配置方式,我想知道我是否仍然可以进行验证以获取所有额外字段并将它们放在一个单独的

回答 1 投票 0

异步 html5 验证

由于某种原因,当我使用异步请求时,未显示 html5 验证消息。 在这里你可以看到一个例子。 http://jsfiddle.net/E4mPG/10/ 设置超时(函数(){ ... ...

回答 2 投票 0

有没有办法验证表单请求中导入的 CSV 的每一行?

背景 我已经实现了工作媒体的管理网站。 然后我想一一验证导入的 CSV 行,所以我实现如下。 看法 背景 我已经实现了求职媒体的管理网站。 然后我想逐一验证导入的 CSV 行,所以我实现如下。 查看 <div id="main"> <h1 id="page_title">求人票一覧</h1> @if ($errors->get('upload_errors')) @foreach ($errors->get('upload_errors') as $error) <li class="error_text" style="color: #f44336;">{{ $error }}</li> @endforeach @endif </div> 控制器 use App\Imports\JobsImport; use Illuminate\Http\Request; use Maatwebsite\Excel\Facades\Excel; class JobsController extends \App\Http\Controllers\Controller { public function __construct( JobService $jobService, ) { $this->jobService = $jobService; } public function import(Request $request) { $csv = $request->file("csv"); $csvArray = Excel::toArray(new JobsImport, $csv); $errors = $this->jobService->validateCsv($csvArray[0]); if (!is_null($errors)) { session()->flash("errors", $errors); return redirect("admin/job"); } ImportCsvJobs::dispatch($csv); return redirect("admin/job"); } } 就业服务 namespace App\Services\Admin; use Illuminate\Support\Facades\Validator; use Illuminate\Support\MessageBag; use Illuminate\Support\ViewErrorBag; use Exception; class JobService { public function validateCsv(array $csvArray) { $rules = [ "求人ID" => [ "required", "integer" ], "求人名" => [ "required", ], "企業名" => [ "required", ], "園名" => [ "required", ], "担当者名" => [ "required", ], "雇用形態" => [ "required", ], "職種" => [ "required", ], "おすすめポイント1" => [ "required", ], "おすすめポイント2" => [ "required", ], "こんな方におすすめ1" => [ "required", ], "こんな方におすすめ2" => [ "required", ], "求める人物像" => [ "required", ], "応募資格" => [ "required", ], "給与形態" => [ "required", ], "最低給与額" => [ "required", ], "最高給与額" => [ "required", ], "給与・待遇" => [ "required", ], "勤務時間" => [ "required", ], "固定時間勤務" => [ "required", ], "休日" => [ "required", ], "福利厚生" => [ "required", ], "交通費" => [ "required", ], ]; $attributes = [ "求人ID" => "ID", // job posting ID ]; $uploadErrorList = []; foreach ($csvArray as $key => $value) { if (!is_array($value)) continue; $validator = Validator::make($value, $rules, $attributes); if ($validator->fails()) { $errorMessage = array_map(fn ($message) => $key + 1 . "行目: " . $message, $validator->errors()->all()); $uploadErrorList = array_merge($uploadErrorList, $errorMessage); } }; if (empty($errorMessage)) return null; $errors = new ViewErrorBag(); $messages = new MessageBag(["upload_errors" => $uploadErrorList]); $errors->put("default", $messages); return $errors; } } 问题 有没有办法在 FormRequest 而不是 Service 类中做同样的事情? 因为如果我可以在那里进行验证,我就不需要在控制器中进行处理,这是更好的代码。 Maatwebsite\Excel 提出了验证流程,您可以在不同的文件中为您使用的每种导入类型进行配置。你应该去那里:文档链接

回答 1 投票 0

我的表单需要三种不同的与 PHP 兼容的正则表达式验证模式

我需要 PHP 表单的正则表达式模式。 字母和数字 字母、数字和特殊字符 字母、大写字母、数字和特殊字符

回答 0 投票 0

如何使用不带@Valid的注释来验证模型

在我的程序中,我接受一个包含电话号码的文件,我对其进行处理并将其添加到数据库中。我只能在方法参数中使用 @Valid 注解,但是如何在模型字段中使用注解呢?

回答 1 投票 0

有没有办法让我创建一个数据验证规则,只允许基于给定日期的条目?

我正在尝试创建一个数据验证规则,如果日期 E5 大于我在 B3 中输入的日期的月底,则该规则仅接受单元格 E6 中的 0。这可能吗? 这是我的样本

回答 1 投票 0

Vulkan:验证层:验证错误:[ UNASSIGNED-GeneralParameterError-UnrecognizedValue ]

我正在尝试在 Vulkan 中编写“图形 Hello World 程序”,其目标是在屏幕上绘制一个三角形。 我正在关注本教程。 我收到两种类型的错误。

回答 2 投票 0

如何根据关系数据进行必要的归档

软件包版本 PHP 8.2.12 拉拉维尔 10.28.0 细丝php v3 你好,有人可以帮我吗? 我想根据所选专业将 copy_permis 字段设为必填或不填 我有...

回答 1 投票 0

如何在 JavaScript 中检查有效用户的电话号码?

我正在网页上创建一个输入表单。这是在 user.now 中的电话号码字段中获取的。现在我如何检查用户的电话号码是否是钱包?我的用户住在孟加拉国。

回答 4 投票 0

将自定义 PyTorch 数据集拆分为训练加载器和验证加载器:即使数据集被拆分,两者的长度也相同?

我正在尝试将 Pytorch 自定义数据集(MNIST)之一拆分为训练集和验证集,如下所示: def get_train_valid_splits(data_dir, 批量大小, ...

回答 2 投票 0

CakePHP 5 上传文件验证总是失败

尝试在 CakePHP 5 中验证上传的文件 $验证器 ->notEmptyFile('thumbnail_upload', '需要图像') ->requirePresence('thumbnail_upload', '创建')...

回答 1 投票 0

在Python中,如何检查日期是否有效?

我正在构建一种日历网络应用程序 我已经在 HTML 中设置了以下表单 年份(“yyyy”): 月份(“mm”):... 我正在构建一种日历网络应用程序 我已经在 HTML 中设置了以下表单 <form action='/event' method='post'> Year ("yyyy"): <input type='text' name='year' /> Month ("mm"): <input type='text' name='month' /> Day ("dd"): <input type='text' name='day' /> Hour ("hh"): <input type='text' name='hour' /> Description: <input type='text' name='info' /> <input type='submit' name='submit' value='Submit'/> </form> 用户的输入随后被提交到cherrypy服务器中 我想知道,有没有办法检查用户输入的日期是否是有效日期? 显然我可以写很多 if 语句,但是有没有内置函数可以检查这个? 谢谢 你可以尝试做 import datetime datetime.datetime(year=year,month=month,day=day,hour=hour) 这将消除诸如月份> 12,小时> 23,不存在的闰日(月份= 2在非闰年最多为28天,否则为29天,其他月份最多为30或31天)(出错时抛出ValueError异常) 您也可以尝试将其与一些理智的上限/下限进行比较。 例如: datetime.date(year=2000, month=1,day=1) < datetime.datetime(year=year,month=month,day=day,hour=hour) <= datetime.datetime.now() 相关的理智上限和下限取决于您的需求。 编辑:请记住,这不会处理某些可能对您的应用程序无效的日期时间事物(最小生日、假期、营业时间以外的时间等) 您可以尝试使用日期时间并处理异常来决定有效/无效日期: 示例:http://codepad.org/XRSYeIJJ import datetime correctDate = None try: newDate = datetime.datetime(2008,11,42) correctDate = True except ValueError: correctDate = False print(str(correctDate)) 这个问题假设没有库的解决方案涉及“大量的 if 语句”,但事实并非如此: def is_valid_date(year, month, day): day_count_for_month = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] if year%4==0 and (year%100 != 0 or year%400==0): day_count_for_month[2] = 29 return (1 <= month <= 12 and 1 <= day <= day_count_for_month[month]) 您可以尝试使用 dateutil.parser 模块来更轻松地进行日期解析: from dateutil.parser import parse, ParserError def is_valid_date(date): if not date: return False try: parse(date) return True except ParserError: return False 希望这有帮助。 使用datetime 例如。 >>> from datetime import datetime >>> print datetime(2008,12,2) 2008-12-02 00:00:00 >>> print datetime(2008,13,2) Traceback (most recent call last): File "<pyshell#4>", line 1, in <module> print datetime(2008,13,2) ValueError: month must be in 1..12 您可以尝试使用日期时间并处理异常来决定有效/无效日期: import datetime def check_date(year, month, day): correctDate = None try: newDate = datetime.datetime(year, month, day) correctDate = True except ValueError: correctDate = False return correctDate #handles obvious problems print(str(check_date(2008,11,42))) #handles leap days print(str(check_date(2016,2,29))) print(str(check_date(2017,2,29))) #handles also standard month length print(str(check_date(2016,3,31))) print(str(check_date(2016,4,31))) 给予 False True False True False 这是 DhruvPathak 的答案的改进,作为编辑更有意义,但它被拒绝为“此编辑旨在向帖子的作者讲话,作为编辑没有任何意义。它应该写成评论或答案。” 这是一个利用时间的解决方案。 导入时间 def is_date_valid(年、月、日): this_date = '%d/%d/%d' %(月、日、年) 尝试: time.strptime(this_date, '%m/%d/%Y') 除了值错误: 返回错误 别的: 返回真 所以,这是我纠正所提供的无效日期的黑客解决方案。这假设用户从通用 html 表单提交,该表单提供第 1-31 天作为选项。主要问题是用户提供了当月不存在的某一天(9 月 31 日之前) def sane_date(year, month, day): # Calculate the last date of the given month nextmonth = datetime.date(year, month, 1) + datetime.timedelta(days=35) lastday = nextmonth.replace(day=1) - datetime.timedelta(days=1) return datetime.date(year, month, min(day, lastday.day)) class tests(unittest.TestCase): def test_sane_date(self): """ Test our sane_date() method""" self.assertEquals(sane_date(2000,9,31), datetime.date(2000,9,30)) self.assertEquals(sane_date(2000,2,31), datetime.date(2000,2,29)) self.assertEquals(sane_date(2000,1,15), datetime.date(2000,1,15)) y = int(input("Year: ")) m = int(input("Month: ")) d = int(input("Day: ")) if 0 <= y and 0 < m < 13 and 0 < d < 32: #Check whether date is under limit. if y % 4 == 0: # Every 4 year "Leap" year occures so checking... if m == 2: # In "Leap" year February has 29 days if d < 30: print("<Correct>") else: print("<Wrong>") elif m == 2: # But if it's not "Leap" year February will have 28 days if d < 29: print("<Correct>") else: print("<Wrong>") elif y % 4 != 0 and m != 2: # Otherwise print "Correct" print("<Correct>") else: print("<Wrong>") 基于@codehia答案,以下内容还允许检查日期的格式,并将字符串拆分为年,月,日 - 所有上述假设都已经有年,月,日。 from dateutil.parser import parse import string p=print space_punct_dict = dict((ord(punct), ' ') for punct in string.punctuation) def is_valid_date_p(date): if date: try: date = date.translate(space_punct_dict) new_date = str(parse(date))[:10] year = new_date[:4] month = new_date[5:7] day = new_date[8:] p(year, month, day) return True, year, month, day except: p('invalid:', date) return False return False year, month, day = 2021, 6, 1 is_valid_date_p(f'{month}/{day}/{year}') is_valid_date_p(f'{month}.{day}.{year}') is_valid_date_p(f'{month},{day},{year}') is_valid_date_p(f'{month}/{day}/{year}') is_valid_date_p(f'{month}-{day}-{year}') is_valid_date_p(f'{month} {day} {year}') p() is_valid_date_p('12/1/20') is_valid_date_p('12/31/20') p() is_valid_date_p('31/12/20') is_valid_date_p('30/6/2020') is_valid_date_p('2020/30/6') 输出: 2021 06 01 2021 06 01 2021 06 01 2021 06 01 2021 06 01 2021 06 01 2020年12月01日 2020年12月31日 2020年12月31日 2020年06月30日 无效:2020年30月6日 就个人而言,我主要使用deteutil.parser,它可以在解析日期时简化代码。通过此代码片段,您还可以捕获无效日期: import dateutil.parser input_date = '2022-06-30' try: result_date = dateutil.parser.parse(input_date, dayfirst=True).strftime('%Y-%m-%d') except dateutil.parser._parser.ParserError as ex: print(ex) # handle the exception from here on 其中 strftime('%Y-%m-%d') 部分固定输出格式。如果没有该方法,即仅 result_date = dateutil.parser.parse(input_date, dayfirst=True),它会返回一个日期时间对象。可选的 dayfirst=True 会省略像 3/6/2022 这样不明确的日期,将被解析为 6 月 3 日(而不是 3 月 6 日)。 让我们尝试一些不同格式的输入,甚至添加一些垃圾: multiple_inputs = ['2022-06-30', '30/6/2022', '30 06 2022', '3/6/2022', '2022-06-31', '2022-15-30', '', 'garbage'] for input_date in multiple_inputs: try: result_date = dateutil.parser.parse(input_date, dayfirst=True).strftime('%Y-%m-%d') print(f'Valid date: {result_date}') except dateutil.parser._parser.ParserError as ex: print(ex) 这给出了: Valid date: 2022-06-30 Valid date: 2022-06-30 Valid date: 2022-06-30 Valid date: 2022-06-03 day is out of range for month: 2022-06-31 month must be in 1..12: 2022-15-30 String does not contain a date: Unknown string format: garbage

回答 11 投票 0

Yii2 验证图像帖子作为数据 url

我需要验证作为数据网址上传的图像,其格式为: {配置文件:“数据:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAA ...McAAAAAASUVORK5CYII =”} 我的配置文件模型有以下规则: ...

回答 1 投票 0

无效架构或缺少命名空间 - 通过 notepad++ 进行 XML 验证

我正在尝试通过 notepad++ 验证 XML 文件,但出现以下错误: 架构无效或缺少命名空间 当我通过另一个 XML 验证器进一步调查时,我收到以下错误: ...

回答 1 投票 0

Angular 嵌套表单验证

我想指出的是,我已经处理这个问题1个月了。我愿意接受任何建议。 我有从用户接收输入数据的表单页面。这些页面包含一个组件

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.