List Validation for a task

Using SPO. I need to have the following condition in a task update:
If the task outcome is approved, the fields in the task cannot be blank.
However, if the task is rejected, fields can be empty.
Can this be done using Validation settings for the list?
Thanks,Farida

Hi Farida,
According to your description, my understanding is that you want to set the list validation on the task list.
I recommend to use the formula below in the Validation settings of the task list(change Field1, Field2 to the name of the fields that the value can be empty or not in the task):
=IF([Task Outcome]="Approved",IF(AND([Field1]<>"",[Field2]<>""),TRUE,FALSE),TRUE)
You can add more fields in the AND function based on your need.
Best regards.
Thanks
Victoria Xia
TechNet Community Support

Similar Messages

  • Validation setting in task list

    Hi
    I have Project Manager and Project Approver fields in task list. I want to add validation so that Project Approver = Project Manager. Other wise user should not able to save the record.
    When I go to Validation settings, I don't see Project Manager and Project Approvers in the column list. Can anyone give suggestions on this?
    Thanks

    It looks like the fields Project Manager and Approver Manager are Person type fields. These fields are not listed in List validation column settings. An alternative for you is to override SharePoint JavaScript function "PreSaveAction". You can
    use JavaScript code to comapre the values in these two fields and perform validation.
    Blog | SharePoint Learnings CodePlex Tools |
    Export Version History To Excel |
    Autocomplete Lookup Field

  • JS Validation for Drop down List is not working in Oracle PL/SQL Package

    Hi All,
    I am facing an issue with JavaScript validation done in Oracle PL SQL package.
    System Requirement:
    There is one screen which contains two fields viz. FLD 1 & FLD 2 and one 'Submit' button.
    FLD 1 and FLD 2 fields are drop down list boxes.These are mandatory fields.
    The screen is developed in Oracle Mod PL SQL package.
    The html coding and java scripting are embedded in the respective Oracle PL SQL Package procedure which generates this screen,takes the input values provided by user,does the
    field validations and submits the form.
    Issue:
    The javascript validation for FLD 2 dropdown is working successfully.
    When the user leaves this field as blank,the embedded javascript pops up an error message 'Selection of FLD 2 is manadatory before submitting the form!'.
    As FLD 1 is also a mandatory field,the javascripting validation should pop up the similar error message 'Selection of FLD 1 is manadatory before submitting the form!'.
    But,this first field validation is not at all working.
    The system allows to submit the form even if the 'FLD 1' is left blank.
    The javascript code sysntax for validation of FLD 1 & FLD 2 drop down list boxes as follows:
    function validate_form_fields()
    if (document.forms[0].p_fld_1.selectedIndex == 0))) || (document.forms
    [0].p_fld_1.selectedIndex < 1 )
    alert("Selection of FLD 1 is manadatory before submitting the form!!!");
    return false;
    else if (document.forms[0].p_fld_2.selectedIndex == 0))) || (document.forms
    [0].p_fld_2.selectedIndex < 1 )
    alert("Selection of FLD 2 is manadatory before submitting the form!!!");
    return false;
    return true;
    I am viewing the screen from the web browser IE version 8.0.
    Your timely help will really be appreciated.
    Regards & Thanking in advance,
    Alka

    Hi,
    1. Your problem is actually related to JavaScript, not SQL and PL/SQL. So, this is the wrong forum to post. The closest to JS is the Application Express forum {forum:id=137}. Clearly state that it is not an Apex issue and that you are looking for JS help.
    2. Your JS code, the way you has posted it, is syntactically incorrect, so if you post on Apex forum put the correct code and in tags as described in the FAQ
    {quote}
    function validate_form_fields()
    if (document.forms[0].p_fld_1.selectedIndex == 0))) || (document.forms
    [0].p_fld_1.selectedIndex < 1 )
    alert("Selection of FLD 1 is manadatory before submitting the form!!!");
    return false;
    else if (document.forms[0].p_fld_2.selectedIndex == 0))) || (document.forms
    [0].p_fld_2.selectedIndex < 1 )
    alert("Selection of FLD 2 is manadatory before submitting the form!!!");
    return false;
    return true;
    {quote}
    Regards,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Source List validity dates for MRP only

    Hi.
    Is there a way to do the following:
    Set purchasing view "source list required" so that the material must be purchased from ANY of the sources on the source list...  AND...
    Setup the source list so that there are no overlaps, and MRP sources from consecutive contracts based on the source list validity dates.
    For example, 1/1/10 to 5/1/10 -> Contract A (mrp relevant);  5/2/10-10/1/10 -> Contract B (mrp relevant).  But on 5/3/10 I want to be able to manually change the requisition away from "B" and release against Contract A.  In other words, I want MRP to get the sourcing close to correct, but allow the user the ability to override the MRP sourcing, AND still ensure that the source the user picks is on the source list somewhere.
    When I try this now, the system generates "Source list not included in list despite source list requirement."  The source list checking seems to be done all the way at the validity period level.

    hi,
    I understood your concept. Please explain it  clearly so that why this message
    is appearing " Source list not included in list despite source list requirement"
    can be found out
    Regards
    G.Ganesh Kumar

  • How to Check LT check box in IA02 - for Long text for Equipment Task list operations

    Hi Experts,
    I am trying to upload text for Equipment task list,i am able to upload texts at header,but not for operations.
    At operations level - we have a check box LT which is grayed out - when am manually making an entry ( LT Check box -  is getting checked when am creating entry manually ) - after manual entry - when i tried uploading text is working fine.
    Can someone please tell me how to get the check box - checked - while saving text - using FM : SAVE_TEXT .
    Cheers,
    Rali K

    Try this:
    function findNodes(vNode){
         if (vNode.className === "field"){
              if (vNode.isPropertySpecified("name")===true){
                   var myStateName=new RegExp(vNode.name);
                   var returnValue = GFL.search(myStateName);
                   if (returnValue!=-1){
                        this.ui.oneOfChild.border.fill.color.value="192,192,192";
                        this.access="readOnly";
                   else{  
                        this.ui.oneOfChild.border.fill.color.value="255,255,255";//whatever colour is open access
                        this.access="open";
         for (var a=0;a<vNode.nodes.length;a++){
              findNodes(vNode.nodes.item(a));
    findNodes(xfa.form);
    Kyle

  • Search help for general task list

    Hi,
    I have problem when searching for general task list via classification (in service order, extras>task list selection>direct entry). When I doubleclick a task list, group counter is not copied back in first selection screen; only group has copied. How can I solve this problem?
    Regards,
    Robert

    hi Ashok,
    I've checked classification data for general task list, it's ok. but, I still don't have group counter copied. In other tabs of search help is everything ok.
    - Robert

  • Custom ribbon button does not show for a Tasks list

    I created a simple app using Visual Studio 2012 to add a custom ribbon button for a tasks list. After deploying the app to the SharePoint online, the button does not appear on the ribbon. The exact same button gets displayed properly
    when added to the ribbon for a custom list.  The elements file with the location of the button gets generated, so I can't imagine it would be wrong, but just in case, this is what I have:
    <CustomAction Location="CommandUI.Ribbon"....
    <CommandUIDefinition Location="Ribbon.ListItem.Actions.Controls._children">...
    Any help is greatly appreciated.
    One more thing, if I add this button using SharePoint Designer 2013, the button does not get displayed either. I have a feeling it might be problem with the Tasks list?
    Thanks

    Hi Danny,
    The button needs to be displayed only for one specific list. And as I mentioned, the elements file for the ribbon button was generated by VS, here is the content:
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <CustomAction Id="02aa4c3b-bb73-4dfa-989c-d63a9591dcee.RibbonCustomAction" RegistrationType="List" RegistrationId="{$ListId:Lists/Projects;}" Location="CommandUI.Ribbon" Sequence="10001" Title="Create Project Site">
    <CommandUIExtension>
    <CommandUIDefinitions>
    <CommandUIDefinition Location="Ribbon.ListItem.Actions.Controls._children">
    <Button Id="Ribbon.ListItem.Actions.RibbonCustomActionButton" Alt="Create Project Site" Sequence="100" Command="Invoke_RibbonCustomActionButtonRequest" LabelText="Create Project Site" TemplateAlias="o1" Image32by32="_layouts/15/images/placeholder32x32.png" Image16by16="_layouts/15/images/placeholder16x16.png" />
    </CommandUIDefinition>
    </CommandUIDefinitions>
    <CommandUIHandlers>
    <CommandUIHandler Command="Invoke_RibbonCustomActionButtonRequest" CommandAction="~remoteAppUrl/Pages/Default.aspx?{StandardTokens}&SPListItemId={ItemId}&SPListId={ListId}"/>
    </CommandUIHandlers>
    </CommandUIExtension >
    </CustomAction>
    </Elements>
    If the same button is added for a custom (not a Tasks) list, the button shows up fine.
    Thanks

  • LSMW for General Task Lists

    Hi SAP gurus.
    I'm using LSMW program 490 for general task list.
    When I use the program, it jumps to IA01. I have allready run SM31, and add the value IA05 in SXDA3 table. But the problem still continue.
    Is it possible to link the operations in task list with the packages of Strategies, in LSMW?
    I really need som help on this.
    Many thanks.

    hi
    you have to change the T code to IA05 in the table /SAPDMC/LSOCOD for your project ,in SE16N specify the project name and before executing it specify &sap_edit in the command field and execute the T code .in the list you have to change the Tcode from IA01 to IA05 .
    I think you can assign the maintenance packages to the operation .you have to use a separate sheet and create separate source structure for the same .i havn't tried but just check it
    regards
    thyagarajan

  • Lsmw for general task list (IA05)

    Dear Experts,
                        I am developing lsmw for general task list (IA05). For that I have created two recordings one for header item and another for its operation respective to that group (PLNNR). I had created 2 flat file for it, one for Header Data and one for Operation. I am linking files with respect to its group (PLNNR).
                      This lsmw works for its header data perfectly but at its operation level it will not get group counter(PLNAL) for the respective group(PLNNR). I have to select group counter and click on opertaion manually, after that it fills the opertation perfectly.
                      So can anybody suggest me how to link header and operation data in lsmw.
                     Thanks in advance.
    Regards,
    Sunil.

    Hi Sunil,
    I guess you are using object type 490 to create tasklists.
    To do this create one flat file and not two flat files.
    The flat file structure has to be like this..
    TCODE Record Name  Data
    for first task list
      IA05       IBIPTLST       Header data
    for single operation
                    IBIPTLOP        Operation data
                    IBIPTEXT         Long text data
                    IBIPTMAT        component data
    for second operation
                    IBIPTLOP        Operation data
                    IBIPTEXT         Long text data
                    IBIPTMAT        component data
    for second task list
      IA05       IBIPTLST       Header data
    for second task list - 1st operation
                    IBIPTLOP        Operation data
                    IBIPTEXT         Long text data
                    IBIPTMAT        component data
    for second task list - 2nd operation
                    IBIPTLOP        Operation data
                    IBIPTEXT         Long text data
                    IBIPTMAT        component data
    Regards,
    Arun Prasath Kumar

  • Update list item with managed metadata field returns The security validation for this page is invalid

    Using SharePoint 2010 Server
    I'm attempting to programtically update a managed metadata field in a document library. I'm able to do it without issue on all other non-managed metadata fields. When I attempt it on a MM field I get the error message
    "The security validation for this page is invalid. Click Back in your Web browser, refresh the page, and try your operation again."
    After some digging I realised that this error was being caused because SharePoint was trying to write to the TaxonomyHiddenList list (../sites/mysite/Lists/TaxonomyHiddenList/AllItems.aspx)
    When I update a document through the browser with a term (Term01), it shows up in this TaxonomyHiddenList . I can then run my application, apply Term01 to my new document and it works fine. But if I apply Term02 to my new document it gives me the error above.
    Summary
    My app can read the TaxonomyHiddenList fine but it can not perform an operation that would write to it, resulting in not being able to update the MM field.
    Question
    Is there any advice on how I can further debug this issue?

    Hi,
    According to your post, my understanding is that you want to update managed metadata field in document library programmatically.
    I have made a simple code demo below to updata managed metadata field in document library, it works like a charm, you can refer to it.
    public static void UpdateMSField()
    using (SPSite site = new SPSite("http://YourSiteURL"))
    using (SPWeb web = site.OpenWeb())
    //SPList list = web.Lists.TryGetList("Libs_1");
    SPDocumentLibrary lib = (SPDocumentLibrary)web.Lists["Libs_1"];
    // No point in proceeding if we can't find the list
    if (lib != null)
    // add a new item
    // SPListItem item = list.AddItem();
    SPListItem item = lib.GetItemById(1);
    //Console.WriteLine(item.Name);
    // get the current taxonomy session, which wraps up all of the
    // associated TermStore objects for this SPSite object
    TaxonomySession metadataService = new TaxonomySession(site);
    // get the taxonomy field
    TaxonomyField taxField = item.Fields["MMS_1"] as TaxonomyField;
    // get the term store associated with the taxonomy field
    TermStore termStore = metadataService.TermStores[taxField.SspId];
    // get the actual term set associated with the taxonomy field
    TermSet termSet = termStore.GetTermSet(taxField.TermSetId);
    // search for the terms we wish to set the field to
    var terms = termSet.GetTerms("term_1", true, StringMatchOption.ExactMatch, 1, false);
    // if we have found a term populate the field
    if (terms.Count > 0)
    // set the field to the term(s) we have found
    taxField.SetFieldValue(item, terms.First());
    // Update the item
    item.Update();
    Console.WriteLine("success...");
    More reference:
    http://www.3guysonsharepoint.com/?p=1052
    http://vineet-winit.blogspot.com/2013/04/how-to-update-managed-metadata-field-in.html
    Thanks & Regards,
    Jason
    Jason Guo
    TechNet Community Support

  • Conditional validation for drop down list

    Hi all,
    I have been working on getting the conditional validation for drop down list to work but no luck. Here is my situation. I have a page with 'time' and 'source' drop down which contains a list of values along with null value. I have two buttons 'save' and 'close'. when a User clicks on 'Save' button, no checking should occur and the values filled in the form should be stored into the database. When a user clicks on 'Close' button, validation should occur and messages should be displayed saying 'values should be filled' . After the user fills each drop down list and hits close button, changes should be saved to the database. I used the technique posted by Jayashri and wrote the validation code in 'Close button action method'
    Here is my code
    public String btnClose_action() {
    // TODO: Replace with your code
    try {
    if (ddlTime.getSelected() == null || ddlTime.getSelected().equals("")) {
    FacesMessage message3 = new FacesMessage("Please select a value");
    message3.setSeverity(FacesMessage.SEVERITY_ERROR);
    getFacesContext().addMessage(ddlTime.getClientId(getFacesContext()), message3);
    return null;
    if (ddlSourceReq.getSelected() == null || ddlSourceReq.getSelected().equals("")) {
    FacesMessage message4 = new FacesMessage("Please select a value");
    message4.setSeverity(FacesMessage.SEVERITY_ERROR);
    getFacesContext().addMessage(ddlSourceReq.getClientId(getFacesContext()), message4);
    return null;
    sendMail("close");
    } catch (Exception ex) {
    return null;
    public String btnSave_action() {
    // TODO: Process the button click action. Return value is a navigation
    // case name where null will return to the same page.
    sendMail("save");
    return null;
    I did not set the 'required' property of both the drop downs and I dont have any message components in the page. How do I get this to work. Please help.
    Thanks,
    S

    Hi,
    Try this
    HTP.p('
    function validate_form_fields()
    var validation = true;
    if (document.forms[0].fld_1.options[document.forms[0].fld_1.selectedIndex] == null )
    validation = false;
    alert("Selection of FLD1 is mandatory.");
    if (document.forms[0].fld_2.options[document.forms[0].fld_2.selectedIndex] == null )
    validation = false;
    alert("Selection of FLD 2 is mandatory.");
    return validation;
    ');If the above does not work, it could be the definition of the your fld_1 select - options. Looks like they allow null values, and if null is not the first option then selectIndex = 0 will be a not null option by default.
    Moreover, the below has redundant condition as ==0 and &lt; 1 amount to the same thing. selectIndex cannot be negative.
    if ((document.forms[0].fld_1.selectedIndex == 0 ) || (document.forms[0].fld_1.selectedIndex < 1 ))Regards,

  • Shop papers  for MaintPlans/task lists

    Hi
    Anyone worked on Shop papers  for MaintPlans/task lists ?
    Tcode OID1
    What is the use of this configuration for maint plans and task lists ?
    Thanks

    Hi,
    Did you maintain more than one entry in OID2 ?
    Thanks
    Naveen

  • What's the difference between task list release for order and release for c

    What's the difference between task list release for order and release for cost?

    Pallavi,
    The status of the task list determines in which other application areas the respective task list may be used.
    Release for costing: means that the task list can be used to calculate costs in Transaction IA16 i.e. the costs for the task list operations would be calculated if released for costing status is set.
    Release for use in the order: Released for Order means that you can use the task list in an order i.e. you could include operations from a task list in an order.
    Regards,
    Usman

  • How to Get a list of pending deferred tasks

    Hi all
    there is a bunch of unfinished threads here asking how to get a list/report of deferred tasks that are associated with user objects and scheduled for future execution.
    I need this list and I can't find out how to get it anyway.
    I don't care if it's a SJSIM report, a database query or a SJSIM log mining exercise.
    Does anyone know how to do this?
    My org has just gone live with SJSIM and I want to report on the number of legacy resource accounts that have had deferred tasks created against them for future disabling/deletion (our consultants added this workflow based on rules with an email warning, a disabling deferred task set for 2 weeks from now and a deleting deferred task for 6 months after that). Hopefully I can say "look, 5,000 legacy accounts are going to be cleaned up!
    Thanks in advance

    You can do it with a custom workflow, something like this:
         <Activity>
            <Action id='0' class='com.waveset.session.WorkflowServices'>
              <Argument name='op' value='queryObjectNames'/>
              <Argument name='type' value='User'/>
              <Argument name='attributes'>
                 <list>
                        <new class='com.waveset.object.AttributeCondition'>
                           <s>deferredTaskDate</s>
                           <s>isPresent</s>
                        </new>
                  </list>
               </Argument>
            <Action id='1' process='Check User'>
              <Iterate for='currentUser' in='queryResult'/>
              <Argument name='accountId' value='$(currentUser)'/>
            </Action>
         </Activity>And:
           <WFProcess name='Check User'>
             <Variable name='accountId' input='true'/>
             <Activity id='0' name='start'>
               <Transition to='Check User'/>
             </Activity>
             <Activity id='1' name='Check User' hidden='true'>
               <Action id='1' name='Get User View' application='com.waveset.session.WorkflowServices'>
                 <Argument name='op' value='getView'/>
                 <Argument name='type' value='User'/>
                 <Argument name='id' value='$(accountId)'/>
                 <Argument name='authorized' value='true'/>
               </Action>
               <Transition to='Got One'>
                   <notnull>
                           <ref>view.accounts[Lighthouse].properties.tasks[Legacy Cleanup].date<ref>
                    </notnull>
                 </Transition>
                 <Transition to='end'/>
              </Activity>
              <Activity id='2 name='Got One'>
                 <ActionResult name='users' type='message' overwrite='false'>
                    <ref>accountId</ref>
                  </ActionResult>
              </Action>
              <Transition to='end'/>
            </Activity>
         </WFProcess>This just gives a rough idea of how it can be done. It might be best to bring your consultants back in to implement this.
    Edited by: PaulHilchey on Feb 25, 2009 10:35 AM

  • While Executing a Javascript got RuntimeException - org.mozilla.javascript.EvaluatorException: uSetContextVar: Only valid for Provisioning jobs at line

    Hello Experts,
    I am receiving an error whenever i am executing a java script file. I am calling the script in the below fashion.
    MSKEYVALUE  - $FUNCTION.DP_getMskeyValueForUser(%ABCD01%)$$
    function DP_getMskeyValueForUser(Par){
    ---- Here we have written logic---
           var result = uSelect(query);
          result = DP_generateId("CREATE");// calling another script
        return result;
    function DP_generateId(Par){
    --------------Here Code Logic ----------------------
    --------At ending setting the output value and storing it in the context variable
        uSetContextVar("new_mskeyvalue", newMskeyValue);
        return newMskeyValue;
    While executing i am getting an error message at the above highlighted part stating that got RuntimeException - org.mozilla.javascript.EvaluatorException: uSetContextVar: Only valid for Provisioning jobs at the line
    Can you kindly please help me with this error.
    Regards,
    DP

    Hi DP,
    Hope this helps.
    context var is used if you want to pass values between tasks. If you are using in a job and you want to use values between passes, then you could use a job variable. Or if you want to calculate and use the values in same pass in the job, you can use a Hashmap.
    Kind regards,
    Jai

Maybe you are looking for

  • I have a black ring is this a new bug?

    I have a black ring around anything I am working on in my computer.  Can anyone help me?  Do I have a bug?  My computer also seems to have double commands of Log out, Restart and shut down. 

  • Query on Cube jumps to Query on ODS ; Query on ODS takes Long time

    Hi All, Perormance Issue:  Query on Cube jumps to Query on ODS. Query on ODS taking long time.(JumpQuery)   Specific to ODS Query: When i have checked the Query on ODS(individually) also taking longer time Actually ODS contains quite huge data. Index

  • How to get motion scroll in adobe muse?

    I can't find motion scroll effect in Window Menu and properties bar. So how to get motion scroll in adobe muse. U have any idea?

  • Port Mapping problem with a Snow Base Station

    I wish to enable port mapping with my Airport Snow Base Station. (SBS) I am using an Earthlink Efficient Stream 5667 DSL modem to my SBS. I am running firmware version 4.0.9 and connecting with 10.4.3. So -- enabling port mapping requires that the IP

  • Data Guard

    I have configured physical standby data guard on two different physical machines on oracle 10g. Log shipping is working fine. All the arch log generated on primary server is shipped to standby server successfully . On standby server, applied column s