问题列表 - 第14808页

ASP.NET MVC:数据注释验证是否足够?

我在ASP.NET MVC 2中广泛使用Data Annotation验证.这个新功能节省了大量时间,因为我现在能够在一个地方定义客户端验证和服务器端验证.然而,当我做一些详细的测试时,我意识到如果我单独依赖Data Annotation验证,那么很容易绕过服务器端验证.例如,如果我通过使用[Required]属性注释属性来定义必需字段并在表单中放置该必填字段的文本框,则用户可以简单地从DOM中删除文本框(可以通过Firebug轻松完成)现在,在Controller内的ModelBinding期间,不会在该属性上触发数据注释验证.为了确保触发"必需"验证,我可以在ModelBinding发生后重复验证,但后来我会重复我的验证逻辑.

每个人对验证的建议是什么?数据注释验证是否足够?或者是否需要重复验证以确保在所有情况下都能触发验证?

后续评论: 根据以下答案,我似乎不能单独依赖Model Binder和Data Annotation验证.由于我们得出结论认为需要额外的服务器端验证,我的服务层是否有一种简单的方法可以根据数据注释中定义的内容触发验证?看起来这将使我们两个词中最好的...我们不需要重复验证代码,但我们仍然会确保即使Model Binder没有触发它也会执行验证.

我将把这个后续评论作为一个单独的问题发布,因为它提出了一个与原始评论不同的问题.

validation asp.net-mvc data-annotations asp.net-mvc-2

27
推荐指数
2
解决办法
8566
查看次数

使用Sed将文本附加到现有的第一行

我有一个看起来像这样的数据(FASTA格式).请注意,附带2">"标题块和序列.

>SRR018006
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGN
>SRR018006
ACCCGCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
Run Code Online (Sandbox Code Playgroud)

我想要做的是在文章中附加一个文本(例如"foo"),产生:

>SRR018006-foo
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGN
>SRR018006-foo
ACCCGCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
Run Code Online (Sandbox Code Playgroud)

有没有办法使用SED?最好在线修改原始文件.

unix linux bash awk sed

3
推荐指数
1
解决办法
1652
查看次数

在Linux上编译Objective-C项目(Ubuntu)

如何让Objective-C项目在Ubuntu上运行?

我的文件是:

Fraction.h

    #import <Foundation/NSObject.h>

    @interface Fraction: NSObject {
        int numerator;
        int denominator;
    }

    -(void) print;
    -(void) setNumerator: (int) n;
    -(void) setDenominator: (int) d;
    -(int) numerator;
    -(int) denominator;
    @end
Run Code Online (Sandbox Code Playgroud)

Fraction.m

    #import "Fraction.h"
    #import <stdio.h>

    @implementation Fraction
    -(void) print {
        printf( "%i/%i", numerator, denominator );
    }

    -(void) setNumerator: (int) n {
        numerator = n;
    }

    -(void) setDenominator: (int) d {
        denominator = d;
    }

    -(int) denominator {
        return denominator;
    }

    -(int) numerator {
        return numerator;
    }
    @end
Run Code Online (Sandbox Code Playgroud)

的main.m

    #import <stdio.h>
    #import …
Run Code Online (Sandbox Code Playgroud)

linux ubuntu compilation objective-c

18
推荐指数
1
解决办法
2万
查看次数

LINQ语法与SQL语法

为什么Andres Heilsberg设计的LINQ语法与SQL的语法不同(这为程序员学习一个全新的东西带来了开销)?

如果它使用与SQL相同的语法,那不是更好吗?

sql linq

3
推荐指数
2
解决办法
937
查看次数

LINQ to Twitter库比较

Twitter有哪些LINQ提供商,他们如何比较?除了发布推文之外,还有什么能让您查询推文,关注者和关注者吗?关系支持怎么样?例如

from user in my-followers
where user.name.contains("drew")
and user.followers.count > 10
from tweet in user.tweets
where tweet.message.length < 100
select tweet.message
Run Code Online (Sandbox Code Playgroud)

编辑: 是的,我可以使用Google轻松找到Twitter API.有趣的是在可用库的LINQ功能,面向对象和功能支持方面进行了比较.

.net linq twitter

3
推荐指数
1
解决办法
1777
查看次数

自学编译课程/好的入门编译器书籍?

有没有人知道包含典型编译器课程的在线课程/大学讲座?我有计算理论但不幸的是我的学校没有提供编译器构建课程.

我知道那里有讲座; 我希望能为特别好的产品提供建议.

还有新手到现场的书吗?除了龙书之外,至少还有一些东西.初学者水平很好,我知道市场上有很多中级高级文本.

谢谢!

compiler-construction dfa context-free-grammar

8
推荐指数
2
解决办法
5056
查看次数

为什么Disabled = ture for html work?

我在代码中注意到有一个disabled = ture'锚标签的源代码.我想知道为什么它在IE中有效.我还搜索了互联网,并通过网络搜索在很多源代码中使用它.我一直在寻找,如果真的,错误的拼写也可以被IE使用.

有没有人对此有任何想法?

html internet-explorer boolean

4
推荐指数
2
解决办法
5892
查看次数

SVN:为许多修订创建差异

我有一个私人分支,我做了很多提交,然后我把它合并到trunk,并在那里做了一些小调整.

现在,如果我们需要回滚,那么trunk维护者想要对我的所有更改进行区分.

我该如何创建呢?如果您的示例需要数字,请假设

224446

是我合并到主干的主要修订版,

224453224462

是我的小修理,在我的私人分支机构中我有无数的变化.

解决方案(通过马丁)

svn diff -r 224452:224453 > ~/tmp/diff.1
svn diff -r 224462:224463 > ~/tmp/diff.2
svn up -r224446
patch < ~/tmp/diff.1 -p0
patch < ~/tmp/diff.2 -p0
svn diff -r 224445 > ~/tmp/changes.patch
Run Code Online (Sandbox Code Playgroud)

然后将〜/ tmp/changes.patch邮寄给我们的主干维护人员以便妥善保管.

svn diff branch

34
推荐指数
2
解决办法
3万
查看次数

C++和OpenGL帮助

我想用OpenGL编写代码,但我不想通过Windows API,这可能吗?如果是这样,那么一些关于如何做到这一点的教程的链接会很好.

c++ opengl

-1
推荐指数
1
解决办法
214
查看次数

Django Widget Media不起作用

我需要一个小部件,它应该只显示一个块,因为我将使用jQuery添加功能.我试图通过Widget的"媒体"类包含javascript和样式表,它对我不起作用.

这是代码:

class StarsWidget(Widget):
    """
    Widget with stars for rating
    """
    class Media:
        js = (
                settings.MEDIA_URL + 'js/rating.js',
              )

        css = {
                'screen': (
                    settings.MEDIA_URL + 'css/rating.css',
                    )
              }


    def render(self, name, value, attrs=None):
        if value is None: value = ''

        attrs = {'id':'ratingX', 'class':'rating'}
        final_attrs = self.build_attrs(attrs, name=name)
        if value != '':
            # Only add the 'value' attribute if a value is non-empty.
            final_attrs['value'] = force_unicode(value)
        return mark_safe(u'<div %s ></div>' % flatatt(final_attrs))
Run Code Online (Sandbox Code Playgroud)

任何建议或帮助将不胜感激

django django-widget

9
推荐指数
2
解决办法
9237
查看次数