2

Validation errors are not appearing in the experience editor for our shared QA environment. I have a content item that is identical in both environments (I packaged it up to make sure). On my local developer environment, I see the following:

Error bar and error outline

However, on the shared QA environment, I see this:

No errors

I pointed my local connection strings to the shared QA environment to see if everything still worked. The validation errors no longer displayed on my local environment.

To me, this indicates the following:

  1. It is not likely a config issue
  2. It is not likely an environment-specific issue
  3. It is likely a database/content issue

I did the following:

  • Compared the validation rules on the fields across, and they're both the same.
  • Compared workflows and the user's security rights/roles.
  • Confirmed the validation in the content editor works fine on both environments.

I want the validation errors to display on all environments.

Sitecore 8.1 rev. 151207

Update: It turns out 1 user (mine) can see validation, but nobody else can. I tested between two admin accounts. All security permissions are the same between them. I serialized both users and saw this:

Serialized

I suspect the blue box is why I can see validation but they cannot.

  • 1
    Are you accessing this page with the same type of an account in both databases? Do these two accounts have any differences in security settings? – Dmytro Shevchenko Nov 29 '16 at 18:12
  • @DmytroShevchenko you just gave me an idea. I pointed my local master connection string to the shared QA site, but left the core pointed at my local. I am now able to see the error messages. That narrows the problem down to the core database. – Ben Lipson Nov 29 '16 at 18:26
  • Do you have any custom validation rules or field types? If you do, they must be deployed to the QA Core database. – Dmytro Shevchenko Nov 29 '16 at 18:29
  • @DmytroShevchenko we do have a few custom validation rules, however they're defined in the master database. I just checked and those definitions are consistent in the DBs of both environments. – Ben Lipson Nov 29 '16 at 18:34
  • Do you have any errors in Sitecore logs when loading the page on QA? – Dmytro Shevchenko Nov 29 '16 at 18:48
5

Apparently there's a checkbox.

Checkbox

  • 1
    just came here to write exact same answer. Nice one @ben – Dheeraj Palagiri Dec 2 '16 at 16:33
4

There may be different reasons for this behavior.

Suppressed validation rules

  1. Open the Content Editor.
  2. In the ribbon tab "View", make sure that the "Standard fields" checkbox is checked.
  3. Open the __Standard Values item of the template used by the item.
  4. Find the field "Suppressed validation rules" in the section "Validation Rules".
  5. Clear the value of the field.

This will revert the suppression of your validation rules.

You can read more about this functionality here:

https://community.sitecore.net/technical_blogs/b/sitecorejohn_blog/posts/sitecore-cms-6-4-suppress-validation-rules

Missing definitions of custom validation rules

In case you have custom validation rules, they must be deployed on all environments. Otherwise, validation will fail.

2

Off the top of my head, there are a few reasons why different core databases might cause this issue (assuming there's nothing useful in the logs):

  1. The user you're using to access the page doesn't have access rights to the rules or something else required for this functionality. It's possible that your users are slightly different or that the security set on the rules in each master database are slightly different.

  2. There's something missing from the core databases that's needed.

Reason 1 To check the rules, point to the qa databases (including core), look at the roles and user associated with the user you're logging in as when this occurs in the access viewer to see whether they have access to the rules.

Reason 2 You could try serialising both core databases and doing a diff, maybe it'll be obvious. Or if you have TDS or Unicorn you could try doing it with those. It could be that the two environments are too different for this to work but it's worth a try!

  • The user is an administrator with no roles in both environments. I tried a serialization (Unicorn) of the entire core database starting at the /sitecore/ node. There weren't any significant differences (only difference was package installation history). – Ben Lipson Nov 29 '16 at 21:18
  • If it's definitely something to do with the core, I guess you could try a SQL compare to see if there's anything non content which could be causing this. Only other thing I can think of is to restore a copy of your dev core db along side the current qa one, point to that and see if qa then shows the error. – Owen Niblock Nov 29 '16 at 23:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.