我正在使用当前版本的jQuery(1.8.3)和最新版本的jQuery validate(1.10.0),似乎在Internet Explorer 8中,jquery validate验证正在验证的表单上的所有输入,而不是只是那些有规定的规则.它在其他浏览器(IE9 +,FF,Chrome)中运行得很好,如果我使用jQuery validate 1.9.0它可以正常工作.
这是一个演示此问题的示例:
<!DOCTYPE html>
<html>
<head>
<title>IE8 + jQuery Validate 1.10 Test</title>
<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js'></script>
<script type='text/javascript' src='http://ajax.aspnetcdn.com/ajax/jquery.validate/1.10.0/jquery.validate.min.js'></script>
</head>
<body>
<div>
<form id="my-form">
<label for="my-required-field">required:</label>
<input id="my-required-field" type="text" name="reqField" />
<label for="my-optional-field">optional:</label>
<input id="my-optional-field" type="text" name="optField" />
<input id="wh-submit-button" type="submit" value="submit" />
</form>
</div>
<script type="text/javascript">
$(document).ready(function () {
var form = $("#my-form");
var validator = form.validate({
rules: {
"reqField": { required: true }
},
messages: {
"reqField": { required: "this field is …Run Code Online (Sandbox Code Playgroud) 我有一个长期的Azure Cloud Service项目,我用它来从Studio将Web角色和辅助角色部署到Azure.云服务定义和云配置文件包括有关已上载到云服务的证书的信息.所以,在服务定义中:
<Certificates>
<Certificate name="cert" storeLocation="LocalMachine" storeName="My" />
<Certificate name="encryption" storeLocation="LocalMachine" storeName="My" />
</Certificates>
Run Code Online (Sandbox Code Playgroud)
并在服务配置中:
<Certificates>
<Certificate name="cert" thumbprint="[hidden]" thumbprintAlgorithm="sha1" />
<Certificate name="encryption" thumbprint="[hidden]" thumbprintAlgorithm="sha1" />
</Certificates>
Run Code Online (Sandbox Code Playgroud)
我已经将这些配置和证书发布到同一个云服务很长很长时间没有问题.
现在,我刚刚升级到Visual Studio 2010 sp1的Azure 1.7 SDK(2012年6月).一旦我升级我的云服务项目[在属性中,单击"升级"],由于明显的证书错误,我无法再部署:
1:25:28 PM - 正在连接... 1:25:33 PM - 错误:证书:带有指纹的'cert':用于角色:My.Web尚未上传到云服务:我的测试NC.1:25:33 PM - 错误:证书:使用Thumbprint进行'加密':对于角色:My.Web尚未上传到云服务:我的测试NC.
请注意,错误中根本没有列出Thumbprint - 出于安全考虑,我没有将其删除.
如果我编辑项目文件并且除了将1.7更改为1.6之外没有任何其他更改,那么Studio的部署工作将再次完美.
似乎Visual Studio sp1和Azure 1.7存在一些问题,但我没有发现任何其他人遇到类似问题的证据.
更新:我刚刚与微软谈过,我们现在至少清楚了解复制步骤:
因为一个人可能不希望在开发机器上存储生产证书(特别是因为人们不希望开发机器能够解密加密的生产值 - 例如,考虑一下开发笔记本电脑是否丢失),不同的证书在不同的环境中似乎符合标准的最佳实践.
因此,在这一点上,微软将考虑这是否需要修复.同时,Azure 1.7 SDK的变通方法是:(1)不要使用Studio中的"发布"; (2)不要使用多种服务配置; 或(3)在所有环境中使用相同的证书(非我个人推荐).
我刚刚将现有的SQL Server 2008 r2 .dbproj升级到SQL Server 2012 .sqlproj(使用SQL Server数据工具).
以前,我能够在我的项目中定义一个SQLCMD变量,然后通过编辑项目文件来定义值,以通过添加以下元素来使用msbuild值:
<ItemGroup>
<SqlCommandVariableOverride Include="ProjectDirectory=$(MSBuildProjectDirectory)" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
然后,我可以在我的PostDeployment脚本中使用,如下所示:
SELECT * INTO dbo.MyTable FROM dbo.MyTable WHERE 1=2
BULK INSERT dbo.MyTable
FROM '$(ProjectDirectory)\data\dbo.MyTable.dat'
WITH (DATAFILETYPE = 'widenative')
Run Code Online (Sandbox Code Playgroud)
但是,升级后,这似乎不再起作用.
我已经尝试将相同的条目添加到新的sqlproj,但发布功能似乎没有提取它并希望我提供一个值.如果我提供$(MSBuildProjectDirectory),那就是按字面解释并失败.
在新制度下,指定本地文件路径和/或使用msbuild值的机制是什么?