我使用AngularJS创建了一个HTML表单,并required为某些字段添加了属性.
对于这些领域,我有一个显示如果该字段不是错误消息$pristine,并且还$invalid:
<input type="text" ng-model="SomeModel.SomeProperty" name="myField" class="input-block-level" required>
<p ng-show="frmMyForm.myField.$invalid && !frmMyForm.myField.$pristine" class="error-text">This field is required!</p>
Run Code Online (Sandbox Code Playgroud)
这很好用.但是,如果用户只是跳过必填字段(从不将光标放在其中),则该字段始终是原始的,因此即使单击提交按钮后也不会显示错误消息.因此,用户面对的是他们无法提交的表单,但没有错误文本告诉他们原因.
我的想法是,将所有表单字段设置$dirty为提交操作将触发错误消息以显示用户只是跳过的任何必填字段.这可能吗?如果是这样,怎么样?
提前致谢.
背景
我在VS 2010,.NET 4,C#中编写代码.此外,如果重要,我使用的是最新版本的ReSharper.
题
假设我有这个模型:
public class SomeObject
{
public string Red{ get; set; }
public string Green{ get; set; }
public string Blue{ get; set; }
public string Yellow{ get; set; }
public string Purple{ get; set; }
public string Orange{ get; set; }
public string Black{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在代码的其他地方,我需要实例化其中一个对象,如下所示:
SomeObject myObject = new SomeObject{
red = "some value",
blue = "some other value",
. . .,
black="last value"
};
Run Code Online (Sandbox Code Playgroud)
*注意:*我有时希望仅使用其总可能属性的一部分(即红色和蓝色)初始化此对象.
目前,我必须为每个新实例输入每个属性(红色,蓝色,绿色等)SomeObject.在VS2010中是否有热键或某些东西预先填充了这些属性,所以我只需要为每个属性分配值而不是键入每个属性?
我有一个hex文件,可以在Arduino设备上运行的Atmel芯片上闪存.
在将这个文件放入我的Arduino之前,我想修改这个文件的某些方面,但是我没有源代码C++; 只是hex文件.
是否有任何有效的方法来获取.hex文件并重新组装C代码?如果是这样,怎么样?
我正在开发一个应用程序,在Facebook应用程序上显示公司的Twitter提要.这是一家拥有大量FB流量的公司,所以我需要缓存我收到的Twitter数据(来自twitter API),以便我可以避免他们的速率限制.
在我的代码中,我使用LinqToTwitter来调用API,然后使用结果构造一个JSON字符串.然后通过AJAX将该字符串提供给用户的浏览器.
限速Twitter的API调用是150元每小时,所以我想我会只需将JSON数据,我在高速缓存中的对象构造,只刷新一次,每分钟离开我远低于Twitter的速率限制的字符串.
问题是我对MVC for .NET相当新,似乎无法使用System.Web.Caching,就像我在webforms应用程序中所做的那样.
在较旧的webforms应用程序中,我只做了类似的事情:
private string KeyTwitterData;
...
string data = null;
if (Cache[KeyTwitterData] == null)
{
var url = LinqToTwitter.Request.Url;
data = ServiceMethods.GetConversation(url);
Cache.Insert(KeyTwitterData, data);
}
else
{
data = (string)Cache[KeyTwitterData];
}
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我如何在MVC3中实现这一目标吗?
谢谢!
马特
我是Node.JS的新手,但对JavaScript和jQuery非常有经验.我通过安装jQuery没有问题npm install jquery,但是,在代码中引用插件是另一个挑战.
我已经回顾了这个类似的StackOverflow问题,解决方案似乎有效,但在我看来,每次需要插件时实例化一个"虚假"的浏览器窗口并注入基于jQuery插件的函数可能不是最有效的方法.
我失败的特定插件linq.js(是的,我知道js linq可以通过npm获得,但它与linq.js不同!).
注意:我所指的插件不依赖于任何DOM元素; 在我的例子中,它只是通过各种数据函数运行JSON对象.这就是为什么我认为我不需要实例化一个窗口对象.
如何在Node.JS应用程序中正确导入和使用jQuery插件?
我有几个实用工具方法,我想添加到我正在工作的解决方案,并使用依赖注入将打开所述方法的更多潜在用途.
我正在使用C#,.NET 4
这是我想要完成的一个例子(这只是一个例子):
public static void PerformanceTest(Func<???> func, int iterations)
{
var stopWatch = new Stopwatch();
stopWatch.Start();
for (int i = 0; i < iterations; i++)
{
var x = func();
}
stopWatch.Stop();
Console.WriteLine(stopWatch.ElapsedMilliseconds);
}
Run Code Online (Sandbox Code Playgroud)
我在这里做的是创建一个方法来测试我的代码的某些元素在调试时的性能.以下是如何使用它的示例:
Utilities.PerformanceTest(someObject.SomeCustomExtensionMethod(),1000000);
Run Code Online (Sandbox Code Playgroud)
期望"PerformanceTest"方法传递(注入)已知类型的函数.但是,如果我希望"PerformanceTest"能够注入各种返回各种类型的函数呢?我怎么做?
假设我从一组方法中查询了一个方法:
var myMethod = someListofMethods.FirstOrDefault(m => m.Identifier.ValueText == myMethodName);
Run Code Online (Sandbox Code Playgroud)
现在我想采用方法的返回类型...
var returnType = myMethod.ReturnType;
Run Code Online (Sandbox Code Playgroud)
...并确定(如果它不是原始的)该类型中包含哪些属性.
所以,例如,假设返回类型FooObject是定义的:
public class FooObject{
public string Fizz {get; set; }
public string Buzz {get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如何正确查询FooObject其属性列表?
这是我已经尝试过的:
returnType.DescendantNodes().OfType<PropertyDeclarationSyntax>();
Run Code Online (Sandbox Code Playgroud)
但这没效果.提前致谢.
如何在.NET中有效/高效地创建多态关联?
话虽如此,我还有一些更细微的问题,我希望将其作为更广泛答案的一部分.
技术
上下文
我正在开发一个面向消费者的应用程序,包括DAL,业务对象层,服务代理层(用于REST服务),最终包括Web,平板电脑,移动和桌面前端.
该应用程序涉及数百种符合各种分类的产品.此外,产品由各种属性组成,这些属性也可能是其更广泛分类的属性.
例:
"小部件A"和"小部件B"都是红色的,因此它们可以在"红色的东西"下的视图中分组.然而,"小部件A"是玩具车,而"小部件B"是红色自行车,因此尽管它们都是红色物体,但它们是不同类型的物体.因此,它们可以在其他视图中被不同地分组(例如,"自行车",其将显示红色自行车,蓝色自行车等).
目标
创建一个有效的核心和服务层,既响应调用者又易于维护.
我在想做什么
为了轻松管理所有这些不同的属性和关系,我想到构建一个"全局"属性表,其中可以为各种类型的对象记录属性:
GLOBAL_ATTRIBUTES_TABLE
ID (INT)ObjectType (int) - FK到ObjectTypes表包含类型列表(例如自行车,玩具车等)ObjectId (int) - 它自己的表中对象的id(例如"Bicycles Table")AttributeType (int) - FK到AttributeTypes表,其中包含各种类型的属性(例如"颜色","材料","年龄组").AttributeId (int) - 它自己的表中属性的id(例如"Colors Table")因此,第3列和第5列(ObjectId和AttributeId)理想情况下将具有与其类型对应的表的动态外键.
我的想法是,这将使搜索更快,模型构造更容易,更简洁(代码方面),更容易添加未来属性和对象类型,维护更容易等.
问题
这是一个可接受的或好的方法(而不是创建,比如产品表,系列表等,有一英里长的列列表)?
有没有办法在.NET中完成动态外键/多态关联,只需简单地进行查询,使用结果构建模型,查询该模型等等?
对于更好的数据架构还有其他建议吗?
我关注如何为VS2010 创建项目的Stack Overflow帖子,希望它能指向正确的方向,但它不包括创建VS2012项目或解决方案.
我还探讨了使用SLNTools,但我没有看到如何从头开始创建新的解决方案.
最后,我想以编程方式创建3-4个VS2012项目,然后将它们添加到也以编程方式创建的解决方案中.
我尝试了一个基于Stack Overflow帖子的解决方案,但是我得到了一个奇怪的错误.这是代码:
Type typeDTE = Type.GetTypeFromProgID("VisualStudio.DTE.11.0");
var dte = (DTE)Activator.CreateInstance(typeDTE, true);
var sln = (Solution2)dte.Solution;
sln.Create(@"D:\Visual Studio\Projects","Test");
Run Code Online (Sandbox Code Playgroud)
这是错误:

是否存在用于查询C#文件的LINQ查询提供程序?
我有一个Winforms应用程序,用于帮助我生成代码以及补充Visual Studio对现有代码的编辑功能.我希望能够做的一件事是查询给定的类以查看方法是否存在.或查询类列表,或查询type方法签名中具有特定类的类等.
此外,我希望能够在所述C#文件上运行通常的CRUD,但我意识到这可能超出了这个问题的范围.
感谢那些建议Roslyn的人,特别感谢下面的Konrad Kokosa提供的代码示例,我能够得到我所需要的.
首先,您需要下载Roslyn DLL(我使用的是NuGet).然后查询.下面是获取类中所有方法的按字母顺序排列的列表的另一个示例:
static List<string> GetMethodList(string filename, string className)
{
var syntaxTree = SyntaxTree.ParseFile(filename);
var root = syntaxTree.GetRoot();
var @class = root.DescendantNodes().OfType<ClassDeclarationSyntax>().FirstOrDefault(md => md.Identifier.ValueText.Equals(className));
return (List<string>) @class.DescendantNodes().OfType<MethodDeclarationSyntax>().ToList().OrderBy(m => m.Identifier.ValueText).Select(m => m.Identifier.ValueText);
}
Run Code Online (Sandbox Code Playgroud)