void WCssTheme::applyValidationStyle(WWidget *widget, const Wt::WValidator::Result& validation, WFlags<ValidationStyleFlag> styles) const { WApplication *app = WApplication::instance(); LOAD_JAVASCRIPT(app, "js/CssThemeValidate.js", "validate", wtjs1); LOAD_JAVASCRIPT(app, "js/CssThemeValidate.js", "setValidationState", wtjs2); if (app->environment().ajax()) { WStringStream js; js << WT_CLASS ".setValidationState(" << widget->jsRef() << "," << (validation.state() == WValidator::Valid ? 1 : 0) << "," << validation.message().jsStringLiteral() << "," << styles.value() << ");"; widget->doJavaScript(js.str()); } else { bool validStyle = (validation.state() == WValidator::Valid) && (styles & ValidationValidStyle); bool invalidStyle = (validation.state() != WValidator::Valid) && (styles & ValidationInvalidStyle); widget->toggleStyleClass("Wt-valid", validStyle); widget->toggleStyleClass("Wt-invalid", invalidStyle); } }