- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在编写一个 ASP.NET 应用程序(在 SharePoint 中),该应用程序需要对表单中的字段执行验证。我目前正在寻找验证日期和时间的方法,其中包括比较两个日期时间(小于/大于)和验证格式。
我最初查看的是datejs但自 2007 年以来就没有更新过。根据文档,最后一个版本似乎缺少两个函数 - isAfter 和 isBefore - 所以我将注意力转向使用 moment javascript library 。
我目前有一个开始日期、开始时间、结束日期和结束时间文本字段 - 所有这些都是必需的,因此我没有开始日期时间和结束日期时间 - 用户输入的内容。我还使用 jQuery 日期选择器和 jquery-ui-timepicker-addon选择日期和时间。
我遇到的一个问题是,在时间字段中输入时间时,我可以输入以下内容:
11:90 - 这将调整为 11:59。
11:100 - 不调整。
这是我将值输入到自定义验证 JavaScript 函数中以验证时间的地方。这是使用以下代码完成的:
function ValidateTimeFormat(objSource, objArgs) {
var strToCompare = objArgs.Value;
var timeFormat = 'HH:mm';
var expectedEndDateObj = moment(strToCompare, timeFormat);
objArgs.IsValid = expectedEndDateObj.isValid();
}
使用 ASP.NET 代码片段:
<div class="label-div">
<asp:Label ID="StartTimeLabel" runat="server" Text="Actual Start Time:"></asp:Label>
<asp:RequiredFieldValidator ID="ActualStartTimeRequiredValidator"
runat="server"
ControlToValidate="StartTimeTextBox"
ErrorMessage="Actual start time is required field"
Display="Dynamic">*</asp:RequiredFieldValidator>
<asp:CustomValidator ID="ActualStartTimeCustomValidator"
runat="server"
ControlToValidate="StartTimeTextBox"
ErrorMessage="Actual start time format is not correct"
Display="Dynamic"
ClientValidationFunction="ValidateTimeFormat">*</asp:CustomValidator>
</div>
<asp:TextBox ID="StartTimeTextBox" runat="server" ></asp:TextBox></li>
根据 momentjs(如果我删除 jQuery 时间选择器):
我还没有看到任何论坛或对 momentjs 的支持,所以我想在这里询问。有无数种方法可以验证时间,包括在您自己的自定义验证例程中使用正则表达式 - 但我现在不想重新发明轮子。我想要一个很好的库来完成它。
只是引用 momentjs 文档进行验证 isValid :
主要的moment()
函数非常灵活,并且允许在解析输入时溢出。例如,moment("2012-01-40", "YYYY-MM-DD")
会将日期值溢出到月份中,使实际时刻为 2 月 9 日(1 月 31 天 + 9进入二月的几天)。
当获取一年中的第 150 天或一天中的第 500 分钟之类的信息时,这可能很有用,但是,在尝试解析用户输入时可能会出现问题。
添加了 moment#isValid 以检查输入的 moment 是否确实是有效日期。
鉴于该库是 Date 的包装器,我不确定这是 javascript 问题还是 moment - 或者实际上是我自己!
有什么想法吗?
最佳答案
这看起来像是时刻的问题。从 2.3.0 开始,您可以尝试使用此处提到的严格解析 - http://momentjs.com/docs/#/parsing/string-format/
但是我仍然发现矩解析器认为“01:k0 A”之类的时间对于“hh:mm A”有效
关于javascript - 时刻 javascript 库和 javascript 日期在有效时间的使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16646517/
我的数据库中有两张表,一张用于 field ,另一张用于预订。我需要的是一个查询来选择所有未预订的 field 。见下文: 餐 table 预订具有以下字段: bk_id venue_id 作为(预订
嗨,我是编码新手,我有一些培训项目,其中包括从 HTML 表单输入 MySQL 数据库。它就像你玩过的游戏的日志。第一个日期输入是您开始游戏的时间,第二个日期输入是您完成游戏的时间。但我需要检查器或类
我是这个 sql 编码的新手,我正在尝试学习新的东西。因此,我创建了一个交货表,其中包含一些属性,如商品代码、交货日期、交货数量。所以如何从同一张表中获取第一个交货日期(最小日期)和交货数量以及最晚交
我从支付网关返回了这个日期 2014-05-15T08:40:52+01:00 我得到 2014-05-15T08:40:52 但我无法识别时区 +01:00 的含义 我的位置时区是 UTC−06:0
我快要疯了,请帮忙。 我有一列包含日期时间值。 我需要找到每天的最小值和最大值。 数据看起来像这样 2012-11-23 05:49:26.000 2012-11-23 07:55:43.000
我从 json 数据中获取日期为 2015 年 4 月 15 日晚上 10:15我只想在 html 页面中显示 json 响应数据的时间,例如 10:15 PM这里我放了我的js函数和html代码 J
是否有 javascript 库或其他机制允许我将 .NET 日期/时间格式字符串(即 yyyy-MM-dd HH:mm:ss)传递给 javascript函数并让它相应地解析提供的日期时间值?我一直
我正在使用以下代码以正确的格式获取当前的 UTC 时间,但客户返回并要求时间戳现在使用 EST 而不是 UTC。我搜索了 Google 和 stackoverflow,但找不到适用于我现有代码的答案。
我有以下日期的平均温度数据。我想找到连续至少 5 天低于或高于 0 摄氏度的开始日期。 date_short mean.temp 1 2018-05-18 17.54 2 2018-05-19
它可以在其他网络浏览器中使用,但 IE11 返回无效日期。 为了调试我使用了下面的代码。 console.log('before - ' + date.value); date.value = new
我在 Excel 中有一个数据的 Web 提取,其中日期列带有/Date(1388624400000)/。我需要在 Excel 中将其转换为日期。 最佳答案 能够从 here 中推断出它. 假设字符串
嗨,我的 Schmema 有一个带有 ISO 日期的字段: ISODate("2015-04-30T14:47:46.501Z") Paypal 在成功付款后以该形式返回日期对象: Time/Date
我的 table : CREATE TABLE `tbdata` ( `ID` INT(10) NOT NULL AUTO_INCREMENT, `PatientID` INT(10) NOT
我正在 Ubuntu 服务器 12.04 中编写一个 shell 脚本,它应该比较日志文件中的一些数据。在日志文件中,日期以以下格式给出: [Mon Apr 08 15:02:54 2013] 如您所
我想使用 GROUP BY WITH ROLLUP 创建一个表并获取总行数而不是 null。 $sql ="SELECT IF(YEAR(transaktioner.datum
我正在创建博客文章,在成功迁移我的博客文件后,当我转到我网站的博客页面时返回一个错误(无法解析其余部分:':“Ymd”'来自'post.date|date: "Ymd"') 我似乎无法确定这是语法错误
我正在尝试获取要插入到 CAML 查询中的月份范围,即:2010-09-01 和 2010-09-30。 我使用以下代码生成这两个值: var month = "10/2010"; var month
如何将代码document.write("直到指定日期")更改为writeMessage(date)中的日期?此外,writeMessage(date) 中的日期未正确显示(仅显示年份)。感谢您帮助解
我在 Windows (XP) 和 Linux 上都尝试过 utime()。在 Windows 上我得到一个 EACCES 错误,在 Linux 上我没有得到任何错误(但时间没有改变)。我的 utim
我正在尝试计算发生在同一日期的值的总和(在 XYZmin 中)。 我的数据看起来像这样, bar <- structure(list(date = structure(c(15622, 15622,
我是一名优秀的程序员,十分优秀!